Управляйте путем в Вену для пипенв - PullRequest
0 голосов
/ 17 февраля 2020

Можно ли сказать pipenv, где находится venv? Возможно, есть что-то, что вы можете вставить в pip-файл, или что-то для файла .env?

Мне довольно часто приходится воссоздавать свой venv, потому что pipenv, по-видимому, теряет связь с тем, где он находится.

Например, я запустил проект с использованием Pycharm для настройки файловой системы и создания моего интерпретатора pipenv. Он создал venv в ~/.local/share/virtualenvs/my-project-ZbEWMGNA и смог отследить, где находится этот интерпретатор.

Переключение в окно терминала и запуск команд pipenv привели к;

Внимание! Для этого проекта еще не создано virtualenv! Попробуйте сначала запустить pipenv install, чтобы автоматически сгенерировать его для вас, или см. pipenv install --help для получения дальнейших инструкций.

В этот момент я запустил pipenv install из терминала и указал пикарм на эту вену, поэтому путь станет ~/apps/my-project-ZbEWMGNA (который находится рядом с файлами проекта ~/apps/my-project)

Теперь у меня есть венв в обоих путях, и pipenv все еще не может их найти.

mwalker@Mac my-project % pipenv --where
/Users/mwalker/apps/my-project

mwalker@Mac my-project % pipenv --venv 
No virtualenv has been created for this project yet!
Aborted!

mwalker@Mac my-project % ls ~/apps
my-project
my-project-ZbEWMGNA

mwalker@Mac my-project % ls ~/.local/share/virtualenvs 
my-project-ZbEWMGNA

1 Ответ

1 голос
/ 29 февраля 2020

Да, это возможно путем установки переменных среды. Вы можете установить путь для виртуальных сред через WORKON_HOME. Или создайте в проекте виртуальную среду с помощью PIPENV_VENV_IN_PROJECT.

Pipenv автоматически учитывает переменную среды WORKON_HOME, если она установлена ​​- так что вы можете указать pipenv хранить ваши виртуальные среды там, где вы хотите

- https://pipenv-fork.readthedocs.io/en/latest/advanced.html#custom -virtual-environment-location

или

PIPENV_VENV_IN_PROJECT Если установлено, создает .venv в каталог вашего проекта.

- https://pipenv-fork.readthedocs.io/en/latest/advanced.html#pipenv .environments.PIPENV_VENV_IN_PROJECT

По моему опыту, PyCharm будет использовать существующий венв, созданный Pipenv. В противном случае он будет создан в каталоге, который PyCharm настроил для его создания.

...