2012-08-05 101 views
2

根据documentation,如果Django手动安装,如python setup.py install那么该目录需要手动删除。将Django升级到1.4.1

我发现在已安装的Django由壳牌

python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)" 

运行此和/usr/local/lib/python2.7/dist-packages/django

删除Django的目录然后我试图安装1.4.1自动方式:

sudo pip install Django 

令人惊讶的是它拒绝安装它:

Requirement already satisfied (use --upgrade to upgrade): Django in /usr/local/lib/python2.7/dist-packages 
Cleaning up... 

所以我没有办法做到这一点,尽管文档没有反映出这一点。

sudo pip install Django --upgrade 

登录:

Downloading/unpacking Django 
    Downloading Django-1.4.1.tar.gz (7.7Mb): 7.7Mb downloaded 
    Running setup.py egg_info for package Django 

Installing collected packages: Django 
    Found existing installation: Django 1.4 
    Uninstalling Django: 
     Successfully uninstalled Django 
    Running setup.py install for Django 
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755 

    changing mode of /usr/local/bin/django-admin.py to 755 
Successfully installed Django 
Cleaning up... 

看来文档也没有提到,Django的文件不只是在/python2.7/dist-packages/django而且在/usr/local/bin/django-admin.py

我不知道这是正确的方式我由于文档明确警告:

如果您使用此安装技术,特别重要的是您首先删除了Django的所有现有安装。否则, 可能会导致损坏的安装,其中包括以前已从Django中删除的以前版本的 文件。

回答

1

一切都好。

通常在/ usr/local/bin中只有一个符号链接。

0

我正在经历这种混乱,是由于Django文档中关于如何安装Django的语言不足造成的。请注意,他们确实说过,如果您使用过python setup.py,那么您必须从“site-packages”手动删除Django的内容,而不是像Kave那样从“dist-packages”中删除。

您可以很明显地通过将Django拖动到站点包(如果您尚未通过PIP或EasyInstall安装它)来手动安装它。

他们说,如果您使用过PIP或EasyInstall,那么您可以让这些程序处理您的移除。这可能意味着你不敢在这种情况下进行手动删除,因为Kave建议。

会不会有人与Django愿意写作,就好像单词具有准确的含义一样。

我不能回去尝试在现有版本上安装1.4,因为1.4是我开始使用的版本。但是卡夫,也许你和我一样,并不记得你是如何安装以前的版本的。您可能在当时使用了EasyInstall或甚至PIP,因此导致Django文件夹被放置在dist-packages而不是site-packages中。

我用我的旧Django版本在dist-packages文件夹中找到了一个“蛋”信息文件。 EasyInstall使用鸡蛋;对setup.py文档的简要介绍表明它没有。