Использование VirtualEnv с несколькими версиями Python на окнах

У меня есть python 2.7.6 и 3.4.0 на моей машине. Версия 2.7 на моем пути. Я хотел бы настроить virtualenv, используя 3.4. В SO и других местах есть много сообщений, которые предлагают мне сделать следующее из командной строки:

virtualenv -pc:\python34 myvirtualenv 

но это не работает для меня. У сеанса консоли есть привилегия администратора, и UAC выключен, однако я получаю проблему с разрешениями:

 F:\virtualenv>virtualenv -pc:\python34 myenv Running virtualenv with interpreter c:\python34 Traceback (most recent call last): File "c:\python27\scripts\virtualenv-script.py", line 9, in <module> load_entry_point('virtualenv==1.11', 'console_scripts', 'virtualenv')() File "C:\Python27\lib\site-packages\virtualenv.py", line 779, in main popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env) File "C:\Python27\lib\subprocess.py", line 709, in __init__ errread, errwrite) File "C:\Python27\lib\subprocess.py", line 957, in _execute_child startupinfo) WindowsError: [Error 5] Access is denied 

Я также попробовал это, конкретно указывая на версию virtualenv версии 3.4, но не меняя пути, в результате получается смешанный пакет с файлами на 2,7 и 3,4 питона.

Единственный способ, которым я смог найти свою виртуальную среду, – это изменить мой путь до 3.4, запустить virtualenv, а затем сбросить мой путь до 2.7, который победит точку переключателя python на virtualenv.

благодаря

4 Solutions collect form web for “Использование VirtualEnv с несколькими версиями Python на окнах”

Лучше:

 py -3.4 -m venv c:\path\to\wherever\you\want\it 

Если у вас нет py.exe (но она должна быть установлена), вы можете заменить py -3.4 на c:\Python34\python.exe (предполагая местоположение по умолчанию)


Это работает из-за удобного, отлично py.exe Windows, супер-красивого выбора времени выполнения py.exe

По умолчанию py.exe будет присутствовать при установке Windows (я думаю, что он поставляется с 2,7, я знаю, что он работает с 3+). Когда вы запустите py он будет искать некоторые переменные среды или вы можете переопределить это с определенным номером проверки (в вашем случае -2.7 или -3.4 ). Вы можете оставить значение .4 и он выберет «самый большой» номер версии ,

Вы также можете использовать его для запуска скриптов Python. Если вы поместите строку хеширования вверху вашего скрипта #!python3 и назовите его py myscript.py тогда он выберет правильную версию Python для начала, py myscript.py поиск в первой строке скрипта и выполнив поиск версии номер.

Это круто, потому что вы можете положить что-то вроде #!/usr/bin/env python3.4 в начало вашего скрипта и запустить его в Windows с помощью py или linux, выполнив

 $ chmod +x myscript.py $ ./myscript.py 

Довольно полезно.

В Windows вам нужно запустить:

 virtualenv -pc:\python34.exe myvirtualenv 

EXE на конце имеет значение.

Пришлось поиграть с этим некоторое время, чтобы понять это правильно. Если бы Python2.7.9 был установлен (Windows 7), он хотел взять последнюю версию Python3 для вращения. После установки Python3.4.3 я пошел в панель каталогов и создал виртуальную среду foo с помощью этой команды:

 virtualenv -pc:\Python34\python.exe foo 

Мне потребовалось некоторое время, чтобы понять, что мне нужно установить интерпретатор Python3.4.3 в «нормальном» режиме, изначально я думал, что он будет установлен USING virtualenv. Это было объяснено в этом ответе . Я не касался pythonpath в Windows после установки Python3.4.3.

Если вышеуказанные меры не работают, попробуйте это (используя venv вместо virtualenv):

 python -m venv venvname 

(замените python на путь python.exe, если он не указан в настройках пути переменной окружения)

  • Как рассказать Дженкинсу об использовании конкретного виртуального питона
  • Можно ли установить еще одну версию Python в Virtualenv?
  • Использование virtualenv с пробелами в пути
  • Запуск bpython внутри виртуального
  • Запуск покрытия внутри virtualenv
  • Как сделать управление пакетами Python?
  • Укажите версию Python для Virtualenv в файле Requirements.txt
  • Virtualenv возвращает ошибку «Нет такого файла или каталога ...»
  • Python - лучший язык программирования в мире.