Обычно virtualenv
создает среды в текущем каталоге. Если вы по каким-то причинам не собираетесь создавать виртуальные среды в C:\Windows\system32
, я бы использовал другой каталог для сред.
Вам не нужно связываться с путями: используйте скрипт activate
(в <env>\Scripts
), чтобы убедиться, что исполняемый файл Python и путь зависят от среды. После этого командная строка изменится, чтобы указать среду. Затем вы можете просто вызвать easy_install, и все, что вы установите таким образом, будет установлено в этой среде. Используйте deactivate
, чтобы установить все обратно, как было до активации.
Пример:
c:\Temp>virtualenv myenv
New python executable in myenv\Scripts\python.exe
Installing setuptools..................done.
c:\Temp>myenv\Scripts\activate
(myenv) C:\Temp>deactivate
C:\Temp>
Обратите внимание, что мне не нужно было указывать путь для deactivate
- activate
делает это за вас, чтобы при активации «Python» запускал Python в virtualenv, а не в системном Python. (Попробуйте - сделайте import sys; sys.prefix
, и он должен напечатать корень вашей среды.)
Вы можете просто активировать новую среду для переключения между средами / проектами, но вам нужно будет указать полный путь для activate
, чтобы он знал, какую среду активировать. Вам никогда не нужно явно связываться с PATH или PYTHONPATH.
Если вы используете Windows Powershell, вы можете воспользоваться оболочкой . В Linux virtualenvwrapper
(ссылка указывает на этот порт в Powershell) делает жизнь с virtualenv
еще проще.
Обновление: Не совсем верно, но, возможно, не совсем в духе virtualenv
. Вы могли бы пойти другим путем: например, если вы устанавливаете Django и все, что вам нужно для вашего сайта в вашем virtualenv, то вы можете работать в каталоге вашего проекта (где вы разрабатываете свой сайт) с активированным virtualenv. Поскольку он был активирован, ваш Python найдет Django и все, что вы легко установили в виртуальную среду: и поскольку вы работаете в каталоге вашего проекта, ваши файлы проекта будут видны и для Python.
Дальнейшее обновление: Вы должны иметь возможность использовать pip
, distribute
вместо setuptools
и просто python setup.py install
с virtualenv
. Просто убедитесь, что вы активировали среду перед установкой чего-либо в нее.