根据documentation,如果像python setup.py install
手动安装Django,则需要手动删除该目录。
我通过从Shell
运行来找到安装Django的位置python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)"
并从/usr/local/lib/python2.7/dist-packages/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中删除的版本。
答案 0 :(得分:1)
一切都好。
Normaly在/ usr / local / bin中只有一个符号链接。
答案 1 :(得分:0)
我正在经历这种混乱,因为Django文档中关于如何安装Django的语言不足。请注意,如果您使用了python setup.py,那么您必须手动删除“site-packages”中的Django内容 - 而不是像Kave那样从“dist-packages”中删除。
你可以通过将Django拖放到site-packages中来手动安装它(如果你还没有通过PIP或EasyInstall安装它)。
他们说如果您使用过PIP或EasyInstall,那么您可以让这些程序为您处理删除。这可能意味着你不敢在那种情况下手动删除,因为Kave建议。
Django的某个人是否愿意写下这些文字具有精确的含义。
我现在无法回过头来尝试在以前的版本上安装1.4,因为1.4是我开始使用的版本。但Kave,也许你和我一样,不记得你是如何安装以前版本的。您当时可能已经使用过EasyInstall甚至PIP,从而导致Django文件夹被放置在dist-packages而不是site-packages中。
我在dist-packages文件夹中找到了一个带有旧Django版本的“egg”信息文件。 EasyInstall使用鸡蛋;简要介绍一下setup.py文档,它表明它没有。