Я хочу установить версии 1.3.1 Django в новом virtualenv. У меня уже установлена версия Django 1.3.0 в системе. Я установил virtualenv с no-site-packages
и попытался переустановить Django следующим образом, но без успеха:Как заставить новую версию Django в virtualenv?
$ virtualenv --no-site-packages pyenv
New python executable in pyenv/bin/python
Installing setuptools............done.
Installing pip...............done.
$ source pyenv/bin/activate
(pyenv)$ python
Python 2.6.6 (r266:84292, May 26 2011, 21:27:16)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 3, 0, 'final', 0)
ОК, так что даже если я не установлен Django, и я использовал no-site-packages
, то virtualenv до сих пор как-то взял до версии системы.
Теперь, чтобы попытаться переписана его с версией 1.3.1:
(pyenv)$ pip install django==1.3.1
Downloading/unpacking django==1.3.1
Downloading Django-1.3.1.tar.gz (6.5Mb): 6.5Mb downloaded
Running setup.py egg_info for package django
Installing collected packages: django
Found existing installation: Django 1.3
Not uninstalling Django at /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages, outside environment /Users/anna/Dropbox/code-local/pyenv/pyenv/bin/..
Running setup.py install for django
changing mode of build/scripts-2.6/django-admin.py from 644 to 755
changing mode of /Users/anna/Dropbox/code-local/pyenv/pyenv/bin/django-admin.py to 755
Successfully installed django
Cleaning up...
(pyenv)$ python
Python 2.6.6 (r266:84292, May 26 2011, 21:27:16)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
Это не сработало, она по-прежнему указывает на 1.3.0!
Обратите внимание на строку: Found existing installation: Django 1.3 Not uninstalling Django
.
Как я могу заставить свой virtualenv использовать 1.3.1? Нужно ли мне редактировать мой локальный путь Python?
Я смущен относительно того, почему virtualenv может даже видеть систему Django, когда я явно установлен с no-site-packages
. Так ли это должно работать?
Попробуйте сказать pip, чтобы игнорировать установленные пакеты с '-I'. Вы, вероятно, также хотите указать каталог для своего виртуального пользователя с помощью '-E/path/to/env' –
попробуйте это решение: http://stackoverflow.com/questions/5569895/virtualenv-using-wrong-django – lqez