65

如何停用我的 pipenv 环境?

使用其他工具,我已经能够做类似的事情source deactivate,但这在这里没有影响。

创建环境:

pipenv --three

激活环境:

source $(pipenv --venv)/bin/activate

但是如何停用呢?

4

8 回答 8

66

为了详细说明威廉姆斯的回答,预期的工作流程是使用pipenv shell. 当您以这种方式激活 virtualenv 时,控制台输出现在指示使用exit

生成环境 shell (/bin/zsh)。使用“退出”离开。

尝试退出 virtualenvdeactivate将使 pipenv 处于混乱状态,因为您仍将处于生成的 shell 实例中,但不在激活的 virtualenv 中。

于 2018-06-28T06:14:23.427 回答
44

使用 shell 命令exit 也可以。

当使用deactivate仍然给我留下错误时,这对我有用:

Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.

使用后exit我可以成功切换pipenv实例。这很可能是一个错误,我可能应该报告它。

于 2018-06-23T02:51:05.263 回答
31

更新:请参阅下面的其他答案。正如已经解释的那样,这适用于virtualenv,但pipenv工作方式不同。

只需deactivate在命令行中输入。请参阅此处的指南

于 2018-04-20T15:19:11.913 回答
8

只需输入“exit”,它就会带你离开外壳。

如果你使用“deactivate”,那么当你再次尝试进入 shell 时,你可能会得到这个错误。

Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
    No action taken to avoid nested environments.

因此,最好使用“退出”来快速访问。

于 2021-02-21T08:31:20.757 回答
5

请从贡献者的角度检查此主题以获取答案:

https://github.com/pypa/pipenv/issues/84#issuecomment-275056943

剧透:

pipenv 使用 virtualenv 路径启动一个新的 shell 会话,而不是更改当前 shell 会话中的路径。这就是停用不起作用的原因。您需要退出 shell 会话。退出命令或 CTRL-d 可以解决问题。

于 2019-07-08T10:53:16.630 回答
5

从 pipenv 虚拟环境中停用,您可以简单地运行以下命令。

deactivate
于 2021-09-17T17:39:59.573 回答
0

因为导致的问题是由于之前在另一个目录中的 shell 操作,所以我所做的是通过 ctrl+d 退出我的新目录退出终端。之后,我通过 alt+t 打开终端,将目录构建到预期的目录。然后运行 ​​pipenv shell 命令。

于 2021-12-07T13:09:51.660 回答
-1

首先“停用”然后“退出”,您将退出虚拟环境。到目前为止,这对我有用。

于 2018-12-14T04:14:24.180 回答