Virtualenvwrapper создает проект в неправильном каталоге?

Я новичок в Python и virtualenv, поэтому прошу прощения, если это очевидный вопрос. У меня есть диск C и диск D на моем компьютере под управлением Windows 10. У меня есть путь к Python и скриптам, установленный в правильном месте на диске D.

В консоли я сделал pip install virtualenv и установил pip virtualenvwrapper-win. После этого я перешел в папку на диске D, где мне нужны мои проекты. Когда я запустил mkvirtualenv HelloWorld, он, похоже, создал виртуальную среду в моей папке C:/users/me. Кроме того, виртуальная среда не была активирована по умолчанию, и я не был перемещен в правильный каталог в моей консоли.

Как я могу убедиться, что mkvirtualenv создает новые виртуальные среды в правильной папке на моем диске D? И что я делаю не так, чтобы не активировать виртуальную среду после создания?


person Rohhan    schedule 08.04.2016    source источник


Ответы (2)


В документации VirtualEnvWrapper говорится "опционально":

WORKON_HOME (необязательно)

Добавьте переменную среды WORKON_HOME, чтобы указать путь к хранилищу сред. По умолчанию это %USERPROFILE%\Envs.

Эта часть %USERPROFILE% объясняет, почему вы видите каталог с именем Envs, созданный в C:/users/me.

Я публикую это не для того, чтобы вести себя как всезнайка; это тоже сбило меня с толку, так как я просто остекленел прямо над этим.

Я провел небольшое исследование, и оказалось, что в Windows CMD вы можете сделать что-то вроде:

set WORKON_HOME=%cd%

где `%cd% - ваш текущий каталог. Вы могли бы подумать, что это установит переменную среды на постоянной основе, но нет, это не так. Это только временно.

Я также пробовал:

mkvirtualenv -a C:\Django venv

но путь был просто проигнорирован и по-прежнему создавался в %USERPROFILE%\Envs.

Чтобы установить переменную среды WORKON_HOME на постоянной основе на вашем компьютере с Windows, вы должны войти в переменные среды (ищите, как туда добраться, если вы не знаете, как) и сделать следующее:

Сделать VirtualEnv в Windows

После того, как вы установили свой каталог WORKON_HOME, в командной строке Windows CMD вы можете сделать (обратите внимание, что мой текущий путь находится в C: \ Django):

C:\Django>mkvirtualenv venv

Вот что появится на экране:

Using base prefix 'c:\\python35'
New python executable in C:\Django\venv\Scripts\python.exe
Installing setuptools, pip, wheel...done.

(venv) C:\Django>
person Jarad    schedule 07.12.2017

Когда вы делаете mkvirtualenv name, он создает виртуальную среду в текущем каталоге, в котором вы находитесь в оболочке. Чтобы создать его в нужном вам месте, вам нужно либо указать путь, либо перейти туда и создать виртуальную среду.

person Pythonista    schedule 08.04.2016