停用pipenv环境

时间:2018-04-20 15:17:45

标签: python-3.x pipenv virtual-environment

如何停用我的pipenv环境?

使用其他工具,我已经能够执行source deactivate之类的工作,但这对此没有任何影响。

创建环境:

pipenv --three

激活环境:

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

但是如何停用?

6 个答案:

答案 0 :(得分:13)

要详细说明威廉姆斯的答案,expected workflow将使用pipenv shell输入virtualenv。当您以这种方式激活virtualenv时,控制台输出现在指示使用exit

  

生成环境外壳程序(/ bin / zsh)。使用“退出”离开。

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

答案 1 :(得分:6)

使用shell命令exit也可以。

这在使用deactivate时对我有用,但仍然给我带来错误:

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

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

答案 2 :(得分:4)

只需输入“exit”,它就会带你出壳。

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

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

所以,最好使用“退出”来快速访问。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

扰流板:

  

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

答案 5 :(得分:-2)

更新:请参阅下面的其他答案。如上所述,这适用于 q = ("SELECT * FROM {0} WHERE destination = %s AND countryCode = %s AND prefix = %s") .format(db_name) cursor.execute(q, (data['destination'], data['country_code'], data['prefix'])) self.cnx.commit() isDoubled = cursor.fetchone() ,但virtualenv的工作方式不同。

只需在命令行中输入pipenv即可。请参阅指南here