2016-02-16 7 views
1

Я возвращаюсь к изучению фляги после нескольких учебников несколько месяцев назад. У меня есть Python 2.7, установленный на моем Mac, но в последний раз, когда я установил &, Python 3 также использовал Pynv, и я также узнал, как создавать и использовать virtualenvs.Использование колбы в виртуальном магазине с Pyenv

Im пытается запустить небольшое приложение Flask в virtualenv с Python3 и получить 'ImportError: Нет модуля с именем «flask». Из того, что я могу сказать, проблема в том, что я Колба установлена ​​под Python 2.7, как я получаю это когда я бегу «пип установить флягу» из моей venv:

Requirement already satisfied (use --upgrade to upgrade): flask in ./venv/lib/python2.7/site-packages 

Однако, когда я бегу «pyenv местный» с venv активировал он говорит мне его 3.4.3, если я запустил «python my_app.py» Flask работает отлично, но когда я запускаю «python3 my_app.py», я получаю ошибку «no module named flask».

Что я здесь делаю неправильно?

ответ

2

Вы должны использовать набор инструментов для одной и той же версии: После Колба установлена ​​на Python 2 не сделает его пригодным для питона 3.

Создайте свой virtualenv с версией python 3 (возможно, venv-py3) и установите пакеты с версией 3 из pip (pip3, возможно).

+0

что было, спасибо! –

2

Вы не делаете ничего плохого. Когда pyenv активирует виртуальную среду, он указывает «python» на исполняемый файл virtualenv python, но не «python3».

Вы можете подтвердить это, выполнив следующие команды:

which python3 
which python 
+0

ok спасибо, да, «какой python» возвращает мой venv PATH, так что мне нужно сделать здесь, чтобы установить Python3 в venv, а также иметь возможность работать с Flask? –

+0

О, извините, я не понял, если вы запустите: , который pip && , который pip3 Сделайте либо точку в своем виртуальном пространстве? Если они это сделают, просто используйте команду pip и «python». –