Попытка окончательно совершить переход к Python 3, но я столкнулся с некоторыми проблемами с virtualenvwrapper. Я начинаю с создания виртуальной среды, как так:Python3 pip, устанавливающий глобально, когда в virtualenv
mkvirtualenv -p /usr/local/bin/python3 projectname
, который дает:
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.3.3/Frameworks/Python.framework/Versions/3.3'
New python executable in projectname/bin/python3.3
Also creating executable in projectname/bin/python
Installing setuptools, pip...done.
До сих пор, так хорошо. Я проверяю консоль python, чтобы убедиться, что среда смотрит на правильный интерпретатор и все такое и есть. Вот где печаль происходит (в то время как virtualenv активен):
pip install flask
претензии, чтобы быть успешным, но увы:
Python 3.3.3 (default, Jan 2 2014, 13:26:32)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'flask'
Вот вопрос:
$ pip show flask
---
Name: Flask
Version: 0.10.1
Location: /usr/local/lib/python3.3/site-packages
Requires: Werkzeug, Jinja2, itsdangerous
Если я не полностью недоразумение virtualenv/wrapper и их соответствующие магии (что я очень хорошо мог бы), похоже, что pip install устанавливает Flask глобально, а не в пакеты сайта в моем virtualenv, и, таким образом, virtualenv игнорирует это.
Любые подсказки, что здесь происходит/как исправить? Я ошибаюсь, полагая, что virtualenvwrapper готов к прайм-тайму с python3? Довольно приемлемые решения, в которых мне не нужно приводить в порядок мои .bashrc или вручную заданные переменные среды. Я надеюсь, что есть способ сделать это через api, предоставленный virtualenv и virtualenvwrapper.
Спасибо!
Какие версии 'pip' и' virtualenv'? (Или вы используете 'venv' вместо' virtualenv'?) Я помню некоторую проблему с версиями pip 1.4 и последних версий virtualenv (хотя эти версии были с 1.4), которые были решены путем обновления до pip 1.5, но я не могу вспомнить если это была проблема ... – abarnert
пип, который используется, когда я активировал virtualenv, является: pip 1.5 из /usr/local/lib/python3.3/site-packages (python 3.3). Я использую virtualenvwrapper, чтобы отвлечь виртуальный материал, но когда я набираю 'virtualenv -version', я получаю 1.11 – follyroof
. Хорошо, поэтому он использует вашу' '' '' '' '' '' '' '' '' '' '' '' '', чем я ожидал вызывают именно эту проблему. Отображает ли 'which pip'/usr/local/bin/pip, или это правильный путь (тот, который находится внутри вашего env)? – abarnert