如何停用pyenv虚拟环境

6

我正在使用 Ubuntu 20.04。我按照这篇 博客 的说明安装了 pyenv。

如何停用已激活的 pyenv-virtualenv? 我尝试以下命令:

deactivate

pyenv-virtualenv: deactivate must be sourced. Run 'source deactivate' instead of 'deactivate'

source deactivate

pyenv-virtualenv: deactivate 3.6.9/envs/word_embedding

在 ~/.bashrc 文件中,我添加了以下内容:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Python已经有venv包了,对吧?你不需要安装任何东西来创建虚拟环境。我使用命令python -m venv venv在当前目录下创建名为venv的虚拟环境。 - Atreyagaurav
似乎是可能的。无论您使用哪个Python版本来创建虚拟环境,都将用于创建该虚拟环境。因此,如果您从Python 3.7创建venv,则它将具有Python 3.7,如果您从Python 3.8创建venv,则它将具有Python 3.8。(我没有尝试过,请参阅https://dev59.com/5WEh5IYBdhLWcg3wNxAn) - Atreyagaurav
不,只要你的主要Python只有一个。那个符号链接到python命令的就是主要的,你可以在其他命令中安装其他版本,通常像python2python3.8等。如果你查看你的python命令,它只是一个链接到你安装的最新版本的Python。这就是为什么安装多少个Python都无所谓,只要主要的与系统所需的相同即可。 - Atreyagaurav
对于 pyenv 版本大于等于 2.0: 将 eval "$(pyenv init -)" 更改为:eval "$(pyenv init --path)" - someguyinafloppyhat
这个回答解决了你的问题吗?在当前shell中停用pyenv - Hongbo Miao
显示剩余2条评论
2个回答

12
我遇到了相同的问题,pyenv deactivate 也无法解决,可以尝试使用 pyenv shell system 来代替。
pyenv shell 文档中可以得知:
此版本会覆盖应用程序特定版本和全局版本。它将 $PYENV_VERSION 设置为 system,并且不影响.python-version 文件。
如果想撤销此操作,可以运行 pyenv shell --unset,这会清除 $PYENV_VERSION 环境变量。

2

pyenv global system 对我有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接