Python venv (виртуальная среда) использует неправильную версию Python - PullRequest
0 голосов
/ 19 ноября 2018

У меня установлены Python 3.7 и 3.6.Но в моем профиле я использовал 3.6, и это действительно версия, о которой сообщает which python3.

$ which python3 /Library/Frameworks/Python.framework/Versions/3.6/bin/python3

Затем я создаю виртуальную среду, запустив python3 -m venv venv

И все в моем венве связано с 3.6.Я подтверждаю это с помощью ls -la venv/bin и проверяя venv/pyvenv.cfg.

Я активирую виртуальную среду venv .

Затем устанавливаю библиотеку zappa с pip install zappa.

И когда я запускаю zappa deploy, я получаю сообщение об ошибке, что Python 3.7 не поддерживается.Почему библиотека использует версию Python, которая не настроена в virtualenv, и как мне сделать так, чтобы она использовала правильную версию?

(venv) $ zappa deploy
Traceback (most recent call last):
  File "/Users/t/Projects/djzappa/Spheres/venv/bin/zappa", line 7, in <module>
    from zappa.cli import handle
  File "/Users/t/Projects/djzappa/Spheres/venv/lib/python3.7/site-packages/zappa/__init__.py", line 12, in <module>
    raise RuntimeError(err_msg)
RuntimeError: This version of Python (3.7) is not supported!
Zappa (and AWS Lambda) support the following versions of Python: ['2.7', '3.6']

ПРИМЕЧАНИЕ : я НЕ использую virtualenv каквсе предлагают, и как ссылаются другие существующие ответы.

enter image description here

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Версия Python отличается от версии Python virtualenv, и поэтому она жалуется. Вы можете воссоздать вашу виртуальную среду (удалить существующую) и использовать следующую команду

virtualenv --python = your python version here venv Или

mkvirtualenv venv --python = your python version here

если вы хотите создать виртуальную среду с помощью команды mkvirtualenv.

0 голосов
/ 19 ноября 2018

Используйте это при создании среды:

virtualenv --python=/usr/bin/python3.6 

Но если вы хотите использовать venv, прежде всего, проверьте, относится ли python3 в вашем терминале к python3.6, как вы хотите.

Если нет - введите команду с полным путем к python3.6 вместо единственного python3 в python3 -m venv venv.

Редактировать: почему ваш псевдоним python3 ссылается на python3.7 - это, вероятно, зависит от используемой ОС и последовательности установки. Тяжело сказать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...