如何停用我的 pipenv 环境?
使用其他工具,我已经能够做类似的事情source deactivate
,但这在这里没有影响。
创建环境:
pipenv --three
激活环境:
source $(pipenv --venv)/bin/activate
但是如何停用呢?
如何停用我的 pipenv 环境?
使用其他工具,我已经能够做类似的事情source deactivate
,但这在这里没有影响。
创建环境:
pipenv --three
激活环境:
source $(pipenv --venv)/bin/activate
但是如何停用呢?
为了详细说明威廉姆斯的回答,预期的工作流程是使用pipenv shell
. 当您以这种方式激活 virtualenv 时,控制台输出现在指示使用exit
:
生成环境 shell (/bin/zsh)。使用“退出”离开。
尝试退出 virtualenvdeactivate
将使 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.
因此,最好使用“退出”来快速访问。
请从贡献者的角度检查此主题以获取答案:
https://github.com/pypa/pipenv/issues/84#issuecomment-275056943
剧透:
pipenv 使用 virtualenv 路径启动一个新的 shell 会话,而不是更改当前 shell 会话中的路径。这就是停用不起作用的原因。您需要退出 shell 会话。退出命令或 CTRL-d 可以解决问题。
从 pipenv 虚拟环境中停用,您可以简单地运行以下命令。
deactivate
因为导致的问题是由于之前在另一个目录中的 shell 操作,所以我所做的是通过 ctrl+d 退出我的新目录退出终端。之后,我通过 alt+t 打开终端,将目录构建到预期的目录。然后运行 pipenv shell 命令。
首先“停用”然后“退出”,您将退出虚拟环境。到目前为止,这对我有用。