【问题标题】:How install and use different versions of pythons on MacOS using pyenv如何使用 pyenv 在 MacOS 上安装和使用不同版本的 python
【发布时间】:2021-04-30 23:36:22
【问题描述】:

当我运行 $ which python3 时开始,我得到:

/Library/Frameworks/Python.framework/Versions/3.8/bin/python3

在我的 .zprofile 中,我有:

PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH

所以一开始,我安装了 3.8 并且可以正常工作。现在,我需要创建一个设置,允许我为不同的项目安装和使用不同版本的 python。

所以,我尝试了以下方法:

$ brew update
$ brew install pyenv
$ pyenv version

它打印出System。所以,它只看到了macos自带的python 2.7。然后我尝试了:

$ pyenv install 3.9.1
$ pyenv install 3.8.7
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc
$ source ~/.zshrc

现在,在我的 .zshrc 文件的末尾,我有:

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

但是当我运行$ pyenv version 时,我仍然只得到System。我知道~/.pyenv/versions 目录中安装了不同的python 版本。那么,我还应该做些什么来得到它 列出所有版本并在它们之间来回切换?

【问题讨论】:

    标签: python python-3.x macos pyenv


    【解决方案1】:

    首先,要使pyenv 正常工作,您应该卸载/Library/Frameworks/Python.framework/Versions/3.8/bin/python3 中的Python 并将其从$PATH 中删除。

    如果您使用pyenv 来管理您的 Python 版本,那么您不应该以任何其他方式安装 Python。 pyenv 会在你切换 Python 版本时自动更新你的路径。

    接下来,你需要设置pyenv的默认Python版本

    $ pyenv global 3.9.1
    

    在命令行上。

    最后,要切换 Python 版本,可以使用

    $ pyenv local 3.8.7
    

    在命令行上。请注意,设置本地 Python 是粘性的,并且在每个目录的基础上工作。因此,对于需要特定 Python 版本的每个目录,请使用此命令一次。

    欲了解更多信息,请参阅https://github.com/pyenv/pyenv/blob/master/COMMANDS.md

    【讨论】:

    • 非常感谢!从 .zprofile 中删除 PATH 允许 pyenv 开始正常工作。不幸的是,它破坏了一些已安装的东西(诗歌,一些使用诗歌安装的项目等)。但我正在通过重新安装它们来修复它们。
    猜你喜欢
    • 2021-06-29
    • 2022-08-20
    • 2021-04-13
    • 2020-06-13
    • 1970-01-01
    • 2023-04-04
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多