我为我的django项目尝试了virtualenv,我遇到了一些小问题。使用webfaction帐户。
现在我已经设置了virtualenv并且我正在尝试安装Django 1.8.2,但是当我进入" pip install Django" OR" pip install Django == 1.8.2"它总是只安装Django-1.7.8并将其用作活动版本。
这是我命令行中的一些代码:
(django_test)[pattmayne@web476 django_test]$ pip install Django==1.8.2
Collecting Django==1.8.2
Using cached Django-1.8.2-py2.py3-none-any.whl
Installing collected packages: Django
Found existing installation: Django 1.7.8
Not uninstalling Django at /home/pattmayne/lib/python3.4/Django-1.7.8-py3.4.egg, outside environment /home/pattmayne/webapps/django_test
Successfully installed Django-1.7.8
然后我测试了django-admin的版本:
(django_test)[pattmayne@web476 django_test]$ django-admin.py --version
1.7.8
当我尝试django-1.8.0或1.8.1
时,我得到相同的结果有人知道我做错了吗?
当我设置virtualenv时,我写道:
virtualenv . --no-site-packages
所以它甚至不应该承认旧的装置,不是吗? 这只是一个测试案例,所以我没有任何问题删除它并重新开始。
感谢任何帮助。
编辑:
当我键入" django-admin.py"它使用了virtualenv中的一个。当我使用" pip install -I Django == 1.8.2"它会下载正确的,但会安装错误的。
这里还有来自命令行的更多输出:
(blog_test)[pattmayne@web476 blog_test]$ pip install -I Django==1.8.2
Collecting Django==1.8.2
Using cached Django-1.8.2-py2.py3-none-any.whl
Installing collected packages: Django
Successfully installed Django-1.7.8
(blog_test)[pattmayne@web476 blog_test]$ which django-admin.py
~/bin/django-admin.py
(blog_test)[pattmayne@web476 blog_test]$ django-admin.py --version
1.7.8
(blog_test)[pattmayne@web476 blog_test]$ bin/django-admin.py --version
-bash: bin/django-admin.py: Permission denied
(blog_test)[pattmayne@web476 blog_test]$
它使用缓存中的某些内容。我一直在搞乱,但任何见解仍然受到赞赏!
答案 0 :(得分:0)
问题是WebFaction有一个系统范围的站点自定义策略,它将$HOME/lib/pythonX.Y
注入到您的Python搜索路径中。许多年前,在virtualenv被广泛使用之前,这已经实施。出于某种原因,virtualenv似乎无法忽略像这样的系统范围的政策。
解决方案是通过在virtualenv的sitecustomize.py
目录中创建一个空的lib/pythonX.Y
来覆盖系统策略,例如:
touch /home/you/path/to/virtualenv/lib/pythonX.Y/sitecustomize.py
然后重新激活你的virtualenv。