Виртуальная активация на windows
Я установил virtualenv 1.10 на компьютере с Windows 7 с Python 2.7 на нем.
Я создал виртуальную среду под названием TESTENV. Он расположен в C:\
Если я бегу C:\TESTENV\Scripts\activate
а затем введите python
с последующим:
import sys
print sys.prefix
это выводит C:\TESTENV
, как выяснилось.
Но если я бегу D:\virtualenv_test.py
(это скрипт, содержащий две строки кода, которые я использовал выше), он выводит C:\Python27
,
Я попытался добавить строку сценария к сценарию, но это не работает в Windows.
Почему скрипт не работает в контексте виртуальной среды?
1 ответ
virtualenv
не меняет приложение по умолчанию, которое запускает файл.
Когда вы установили Python, установка связана с .py
а также .pyw
файлы с соответствующими C:\Python27\python.exe
а также C:\Python27\pythonw.exe
Приложения. Поэтому, когда вы запускаете (в вашем cmd) только D:\virtualenv_test.py
, cmd смотрит в реестр и находит приложение, которое связано с .py
файлы, а затем запускает файл с этим приложением. В этом случае это ранее установленный C:\Python27\python.exe
,
virtualenv
activate
добавляет только тот конкретный виртуальный окружение интерпретатора Python в начале PATH
переменная окружения, поэтому при вводе python
в cmd
вы получите соответствующий python.exe
казнены.
Таким образом, решение вашей проблемы - запустить ваш скрипт как:
python D:\virtualenv_test.py
После того, как вы активировали среду.