如何停用我的pipenv环境?
使用其他工具,我已经能够执行source deactivate
之类的工作,但这对此没有任何影响。
创建环境:
pipenv --three
激活环境:
source $(pipenv --venv)/bin/activate
但是如何停用?
答案 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