2017-02-14 6 views
1

В настоящее время мой virtualenv настроен на python 3.5.0, в то время как пакет, который мне нужно использовать, поддерживает только 2.7. Мне нужен способ понизить время выполнения моего python до 2.7 в моем virtualenv.Downgrade virtualenv to 2.7 from 3.5.3

У меня есть обе версии, которые можно использовать: Первый в моем виртуальном пространстве, второй - в масштабе всего компьютера.

(project) me-Air:element me$ python -V 
Python 3.5.0 

me-Air:element me$ python -V 
Python 2.7.10 
+2

удалить virtualenv и создать его (на этот раз на 2.7) снова? – yedpodtrzitko

+0

Да, вот как я это сделаю: rmvirtualenv yourproject, mkvirtualenv -p/your/python27 yourproject-27 – PyNico

+0

Вы не можете отказаться от виртуального доступа, вам нужно создать новый. Если вы на Mac, установите отдельный Python 2 с 'brew', а затем используйте изолированную установку python для' pip install virtualenv'. – daveruinseverything

ответ

2

Вы не можете «понизить» virtualenv.

Вам нужно будет создать новый, вам необязательно удалять текущий, если вы не хотите, чтобы virtualenv имел то же имя, что и ваш текущий.

virtualenv -p /usr/bin/python2.7 <path/to/new/virtualenv/>

Поскольку ваша проблема требует их интеграции Есть много способов сделать это, используйте subprocess, чтобы делать то, что вам нужно с кодом Python 2.7 и передать вывод обратно в код Python 3.

Вы также можете использовать Rabbit MQ Queues для передачи данных в и из программ, запускающих разные версии Python.

1

Еще один способ привязки виртуальной машины к конкретной версии Python - запустить ее через флаг в исполняемом файле Python. Например.

python2 -m virtualenv ./venv 

Аналогично, если вы хотели Python 3 virtualenv, вы бы запустить это:

python3 -m virtualenv ./venv