如何停用我的pipenv环境?
使用其他工具,我已经能够做类似 source deactivate
的事情,但这在这里没有影响。
创建环境:
pipenv --three
激活环境:
source $(pipenv --venv)/bin/activate
但是如何停用呢?
为了进一步详细说明威廉姆斯的答案,预期的工作流程是使用 pipenv shell
输入 virtualenv 。 当您以这种方式激活虚拟环境时,控制台输出现在指示使用 exit
:
生成环境外壳 (/bin/zsh(。使用"退出"离开。
尝试使用 deactivate
退出 virtualenv 将使 pipenv 处于混乱状态,因为您仍将处于生成的 shell 实例中,但不在激活的 virtualenv 中。
使用 shell 命令exit
也可以。
当使用时,这对我有用deactivate
仍然给我留下错误:
Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.
使用exit
后,我可以成功切换pipenv
实例。这很可能是一个错误,我可能应该报告它。
:请参阅下面的其他答案。如前所述,这适用于virtualenv
,但pipenv
的工作方式不同。
只需在命令行上键入deactivate
即可。请参阅此处的指南
只需键入exit
,它就会带您走出困境。
如果你使用 deactivate
,当您尝试再次进入 shell 时,您可能会收到以下错误。
Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.
因此,最好使用"退出"进行快速访问。
从pipenv虚拟环境中停用,您只需运行以下命令即可。
deactivate
请查看本主题,从贡献者的角度获取答案:
https://github.com/pypa/pipenv/issues/84#issuecomment-275056943
剧情透露:
Piphenv 使用 virtualenv 路径启动新的 shell 会话,而不是更改当前 shell 会话中的路径。这就是为什么停用不起作用的原因。您需要退出命令行管理程序会话。退出命令或 CTRL-d 将完成这个技巧。
首先"停用",然后"退出",您将退出虚拟环境。到目前为止,这对我有用。
如果您使用 pipenv shell
激活虚拟环境,并且exit
或deactivate
不起作用。右键单击并杀死终端。这对我有用