我该如何停用pipenv环境?
在其他工具中,我可以执行类似于source deactivate
的命令,但这里没有任何效果。
创建一个环境:
TBD
pipenv --three
激活环境:
source $(pipenv --venv)/bin/activate
但是如何停用?
我该如何停用pipenv环境?
在其他工具中,我可以执行类似于source deactivate
的命令,但这里没有任何效果。
创建一个环境:
TBD
pipenv --three
激活环境:
source $(pipenv --venv)/bin/activate
但是如何停用?
对于 Williams 的答案,进一步解释一下,预期的流程是使用 pipenv shell
进入 virtualenv。 当您以这种方式激活 virtualenv 时,控制台输出现在指示使用 exit
来退出:
生成环境 shell (/bin/zsh)。 使用 'exit' 退出。
试图使用 deactivate
退出 virtualenv 将使 pipenv 处于混乱状态,因为您仍然在该产生的 shell 实例中,但没有激活的 virtualenv。
source $(pipenv --venv)/bin/activate
的命令进入虚拟环境,那么可以使用 deactivate
命令来退出该环境。 - msoutopico使用Shell命令 exit
也可以解决问题。
当使用deactivate
命令仍然导致错误时,这对我很有用:
Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.
使用exit
后,我成功地切换了pipenv
实例。这可能是一个bug,我应该向开发者报告。
exit
然后像往常一样继续操作。 - Jarvis只需键入exit
,即可退出您的shell。
如果您使用deactivate
,当您尝试再次进入shell时,可能会出现以下错误。
Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.
所以,最好使用“exit”进行快速访问。
从pipenv虚拟环境中退出,您只需运行以下命令即可。
deactivate
请查看此主题,了解贡献者的观点:
https://github.com/pypa/pipenv/issues/84#issuecomment-275056943
剧透:
pipenv会使用虚拟环境路径启动一个新的shell会话,而不是更改当前shell会话中的路径。这就是为什么“deactivate”命令无法工作的原因。您需要退出shell会话。使用“exit”命令或CTRL-d即可。
首先执行 "deactivate" 命令,然后再执行 "exit" 命令即可退出虚拟环境。目前这种方法对我有效。
exit
仍然可能是离开环境的正确方式。 - jrh问题的原因是由于在另一个目录中进行了先前的 shell 操作,所以我所做的是通过 ctrl+d 退出我的新目录,然后通过 alt+t 打开终端并构建到预定目录,然后运行 pipenv shell 命令。
pipenv shell
激活虚拟环境,但exit
或deactivate
无法正常工作。请右键单击并关闭终端。这对我很有效。
pipenv shell
,如文档所述,因此不需要使用source $(pipenv --venv)/bin/activate
。 - dandev486