24

我的 .bashrc 有这个:

enable-pyenv () {
    # Load pyenv automatically by adding
    # the following to your profile:

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
}

enable-pyenv

这启用了 pyenv。在某些情况下,我想(暂时)禁用 pyenv。我怎样才能做到这一点?

4

9 回答 9

40

如果要使用系统中的 python 版本:

pyenv local system

https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-global https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-local

于 2019-01-09T16:22:26.417 回答
9

要从当前 shell 环境中停用,请尝试
pyenv shell --unset

于 2021-04-07T11:22:14.070 回答
6

我不确定这是否会消除 pyenv 的所有痕迹,但编辑$PATH环境变量以消除包含 pyenv 或 shim 的路径似乎会停用 pyenv。例如,

export PATH=`echo $PATH | python -c "import sys, re; print(':'.join(x for x in sys.stdin.read().strip().split(':') if not 'pyenv' in x))"`

如果您希望能够重新启用它,只需存储您以前的$PATH,以便以后恢复它。

于 2017-06-02T23:25:53.110 回答
5

尝试使用以下变体:

env -i bash

env -i bash -l

env -i bash --norc

env -i bash --norc --noprofile

这并非没有副作用,因为会影响env -i您的整个会话,因此之后会带来很多便利,例如$HOME洗澡水消失了,但也是如此pyenv

于 2017-02-11T12:24:38.317 回答
1

发布的答案都没有对我有用,但以下是:

$ echo "" > /home/myusername/.pyenv/version
于 2017-05-08T17:01:50.537 回答
0

我使用这个但不确定它是否是一个好方法

bash
于 2021-11-21T21:19:39.823 回答
0

对我来说,最终起作用的是从变量中删除所有pyenv路径的蛮力方法:$PATH

 PATH=`echo $PATH | tr ':' '\n' | sed '/pyenv/d' | tr '\n' ':' | sed -r 's/:$/\n/'`

我希望pyenv自己提供一个更好的方法。

于 2020-07-17T08:52:59.763 回答
0

我有 macOS Monterey,v12.0.1。使用 python 3.8 成功安装了 Prophet。它不适用于 3.9 版本。我使用 pyenv 创建虚拟环境。这就是我所做的:

pip3 install virtualenv

pip3 install virtualenvwrapper

brew install pyenv-virtualenv

您需要这些命令才能在 pyenv 下运行虚拟环境。接下来,安装python

pyenv install 3.8.10

创建名为“先知”的环境:

pyenv virtualenv 3.8.10 prophet

在您的工作目录中激活它:

pyenv local prophet

安装 2 个软件包:

pip install pystan==2.19.1.1

pip install prophet

对我来说效果很好!

于 2022-03-03T22:15:40.750 回答
-4

尝试pyenv deactivate,手动停用虚拟环境。

文档在这里:https ://github.com/yyuu/pyenv-virtualenv

于 2016-09-06T12:20:55.033 回答