我希望 Pipenv 在与我的项目(Django)相同的文件夹中创建虚拟环境。
我搜索并找到了
PIPENV_VENV_IN_PROJECT
选项,但我不知道在哪里以及如何使用它。
PIPENV_VENV_IN_PROJECT
是环境变量,设置一下即可(值无所谓,但不能为空)。确保将其导出,以便 shell 的子进程可以看到它:
export PIPENV_VENV_IN_PROJECT=1
这会导致在
.venv
文件旁边的 Pipfile
目录中创建 virtualenv。使用 unset PIPENV_VENV_IN_PROJECT
再次删除该选项。
direnv
项目在这里是否有用。当您进入项目目录时,它会自动为您设置环境变量,前提是您在项目目录中创建了 .envrc
文件并使用 direnv allow
启用了该目录。然后,您可以将任何此类 export
命令添加到该文件中。
这可能对其他人有帮助。我找到了另一种简单的方法来解决这个问题!
只需在项目中创建一个空文件夹并将其命名为
.venv
,pipenv 将使用该文件夹。
尝试
PIPENV_VENV_IN_PROJECT=1 pipenv sync -d
只需三个简单步骤:
将变量导出为
export PIPENV_VENV_IN_PROJECT=1
创建一个空文件夹和文件Pipfile
mkdir .venv
touch Pipfile
然后执行
pipenv shell
对于鱼壳,使用:
set -Ux PIPENV_VENV_IN_PROJECT 1
为了后代的缘故,如果您发现 pipelinev 没有在正确的位置创建虚拟环境,您可能在某个地方有一个错误的 Pipfile,混淆了
pipenv shell
调用 - 在这种情况下,我会从未显式链接的路径位置删除它到存储库。
这个技巧对我有用: