管理 pipenv 的 venv 路径

Manage the path to the venv for pipenv

是否可以告诉 pipenv venv 的位置?也许您可以将某些内容放入 pipfile,或者 .env 文件?

我经常不得不重新创建我的 venv,因为 pipenv 似乎忘记了它的位置。

例如,我使用 Pycharm 启动了一个项目来配置文件系统并创建我的 pipenv 解释器。它在 ~/.local/share/virtualenvs/my-project-ZbEWMGNA 中创建了 venv,并且能够跟踪解释器所在的位置。

切换到终端 window & 运行 pipenv 命令然后导致;

Warning: No virtualenv has been created for this project yet! Consider running pipenv install first to automatically generate one for you or seepipenv install --help for further instructions.

此时我从终端 运行 pipenv install 并指向 pycharm 那个 venv,所以路径将变为 ~/apps/my-project-ZbEWMGNA (位于项目文件旁边~/apps/my-project)

现在我在两个路径中都有 venvs,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

是的,可以通过设置环境变量来实现。您可以通过 WORKON_HOME 设置虚拟环境的路径。或者使用 PIPENV_VENV_IN_PROJECT.

在项目中创建虚拟环境

Pipenv automatically honors the WORKON_HOME environment variable, if you have it set — so you can tell pipenv to store your virtual environments wherever you want

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

PIPENV_VENV_IN_PROJECT If set, creates .venv in your project directory.

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

根据我的经验,PyCharm 将使用 Pipenv 创建的现有 venv。否则它将在 PyCharm 配置的目录中创建它。