【问题标题】:pyenv does not use correct python versionpyenv 没有使用正确的 python 版本
【发布时间】:2021-09-21 12:51:32
【问题描述】:

使用 pyenv 2.0.3

当我在一个包含 python 版本文件的文件夹中时,python 继续使用系统版本 2.7.6。 (不知道为什么它是 2.7.6,因为我通过 brew 安装了 3.9.7)。

$ python -V
Python 2.7.16

通过 pyenv 寻找

$ pyenv which python
/Users/jaco/.pyenv/versions/trading/bin/python

激活它已经说明它被激活了。

我有

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

在我的 zshrc 中

好像也没有pyenv的bin文件夹?这是 v2 上的新功能吗?

$ l /Users/jaco/.pyenv/bin
ls: /Users/jaco/.pyenv/bin: No such file or directory

同样设置pyenv global 3.9.1也不起作用,它保持2.7

【问题讨论】:

  • 使用 ~/.pyenv/versions/something/bin/python -m venv some_pathsome_path 中创建一个使用 Pyenv 安装的 Python 的 virtualenv 可能更简单。

标签: python pyenv pyenv-virtualenv


【解决方案1】:

假设您正在运行 MacOS 并已通过 Homebrew 安装 pyenv,您需要执行以下操作:

# Adjust the session-wide environment for your account.
echo 'eval "$(pyenv init --path)"' >> ~/.zprofile

# Enable autocompletion and all subcommands
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

来自pyenv installation docs

MacOS 注意:如果您使用 Homebrew 安装 Pyenv,则无需添加 PYENV_ROOT= 和 PATH= 行。如果你的 shell 不使用它,你也不需要在 ~/.profile 中添加命令。

【讨论】:

    【解决方案2】:

    答案是将垫片放在路径上

    # pyenv
    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/shims:$PATH"
    if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
    #if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
    

    【讨论】:

    • 您是否碰巧在最初安装 pyenv 后通过 brew 升级时遇到了这个问题?
    • @MarcelWilson 不,我总是通过 brew 安装 pyenv。我做了一个酿造升级,我认为这搞砸了。
    • 这也适用于我的鱼壳
    猜你喜欢
    • 2015-07-06
    • 1970-01-01
    • 2020-05-05
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多