Установите django1.7 с помощью Python 3.4 с помощью virtualenv
Я ударил немного кирпичной стены относительно настройки django 1.7, используя virtualenv, настроенный на Python 3.4.
Я создал Python 3.4 virtualenv, используя:
sudo virtualenv --no-site-packages -p /usr/bin/python3.4 venv
Затем я активировал env, используя:
source venv/bin/activate
Однажды в активированном virtualenv я попробовал:
sudo pip install https://www.djangoproject.com/download/1.7b1/tarball/
Это устанавливает django в каталоге Python 2.7, а не в виртуальной среде. Проверка с pip freeze
показывает установленных пакетов
Я попытался загрузить zip для django 1.7 и использовать python setup.py install
в среде, но все же получить установку, происходящую вне env и в каталоге 2.7.
Любые советы или указатели на то, что я делаю неправильно, будут действительно оценены!
Ответы
Ответ 1
sudo
не требуется при создании virtualenv и при установке с помощью pip внутри virtualenv. Вместо этого попробуйте следующее:
$ virtualenv -p/usr/bin/python3.4 venv
$ source venv/bin/activate
(В этот момент вы можете проверить, что ваш virtualenv активен и с помощью python 3.4, с which python
, который должен печатать что-то вроде /home/user/projects/venv/bin/python
и python --version
, который должен печатать Python 3.4.Икс)
$ pip install https://www.djangoproject.com/download/1.7b1/tarball/
Ответ 2
Я думаю, что проблема в sudo
. Точка virtualenv заключается в том, что вам не нужно запускать ничего как root - virtualenv настроит среду, в которой вы можете устанавливать пакеты как пользователь. Я предполагаю, что проблема заключается в том, что pip предполагает, что ваше использование sudo предполагает, что вы хотите установить пакет в каталог системного пакета... или же то, что sudo само по себе переопределяет изменения virtualenv в вашей среде в пользу корневой среды по умолчанию.
Создайте новый virtualenv без sudo
. Затем активируйте его и запустите pip install без sudo
.
Ответ 3
попробуйте следовать
virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3
workon py3
pip install Django==1.7.4