如何停用我的pipenv环境?
使用其他工具我已经能够做像source deactivate
这样的事情,但这在这里没有任何影响。
创建一个环境:
pipenv --three
激活环境:
source $(pipenv --venv)/bin/activate
但是如何停用?
更新:请参阅下面的其他答案。正如已经解释的那样,这适用于virtualenv
,但pipenv
的工作方式不同。
只需在命令行输入deactivate
即可。请参阅指南here
为了详细阐述威廉姆斯的回答,expected workflow将使用pipenv shell
进入virtualenv。当你以这种方式激活virtualenv时,控制台输出现在指示使用exit
:
产生环境shell(/ bin / zsh)。使用'exit'离开。
试图用deactivate
退出virtualenv将使pipenv处于困惑状态,因为你仍然会在那个衍生的shell实例中,但不会在激活的virtualenv中。
使用shell命令exit
也可以。
当使用deactivate
时,这对我有用,但仍然给我留下了错误:
Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.
使用exit
后,我可以成功切换pipenv
实例。这可能是一个错误,我应该报告它。
首先“停用”,然后“退出”,您将退出虚拟环境。截至目前,这对我有用。
请查看此主题以获取contributor观点的答案:
https://github.com/pypa/pipenv/issues/84#issuecomment-275056943
剧透:
pipenv使用virtualenv路径启动新的shell会话,而不是更改当前shell会话中的路径。这就是停用不起作用的原因。你需要退出shell会话。退出命令或CTRL-d将完成这一操作。