切换 Homebrew 安装的 Python 版本

Rob*_*bok 11 python macos homebrew

我通过 Homebrew 安装了 Python 3.8 和 3.9:

~ brew list | grep python
python@3.8
python@3.9
Run Code Online (Sandbox Code Playgroud)

我想使用 Python 3.9 作为我的默认python3命令。我尝试了以下方法:

~ brew switch python 3.9
Error: python does not have a version "3.9" in the Cellar.
python's installed versions: 3.8.6
Run Code Online (Sandbox Code Playgroud)

我试图卸载 Python 并重新安装它,但它被其他软件包使用:

~ brew uninstall python
Error: Refusing to uninstall /usr/local/Cellar/python@3.8/3.8.6
because it is required by glib and php, which are currently installed.
You can override this and force removal with:
  brew uninstall --ignore-dependencies python
Run Code Online (Sandbox Code Playgroud)

如何使用 Python 3.9?

Jea*_*oto 29

有一个 Homebrew 已知问题与并行安装 Python 3.8 / 3.9 相关。要解决此问题,以下命令应该适合您:

brew unlink python@3.9
brew unlink python@3.8
brew link --force python@3.9
Run Code Online (Sandbox Code Playgroud)

rehash可能需要重新打开终端或执行命令以考虑更改。


Set*_*eth 6

使用pyenv。它是一个软件,可让您在系统上安装的任何和所有 Python 版本之间进行切换。要安装pyenv,请在命令行中使用以下代码:

curl https://pyenv.run | bash
exec $SHELL
Run Code Online (Sandbox Code Playgroud)

然后找到你想要切换到的Python版本的名称:

pyenv versions
Run Code Online (Sandbox Code Playgroud)

并用以下命令选择它:

pyenv global <version-name>
Run Code Online (Sandbox Code Playgroud)

就您而言,它很可能被命名为3.9.0.

  • 这对我不起作用。使用“brew install pyenv”安装后,运行“pyenv versions”仅列出“system”,尽管我也通过 Homebrew 安装了 3.8、3.9 和 3.10。 (11认同)
  • 为什么我不想通过 Homebrew 安装“pyenv”? (2认同)

Eve*_*sta 5

更新了 MacOs 蒙特雷

对于遇到此问题的人,请将 pyenv 路径添加到~/.zshrcshell 文件中。

export PATH="/Users/username/.pyenv/shims:${PATH}"
eval "$(pyenv init --path)"
Run Code Online (Sandbox Code Playgroud)

在终端中运行:

source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

一探究竟:

python3 --version
Run Code Online (Sandbox Code Playgroud)

来自GitHub上的问题。