使用Homebrew切换安装的Python版本

54

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

~ brew list | grep python
python@3.8
python@3.9

我想使用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

我试图卸载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

我该如何使用Python 3.9?


请查看此链接:https://dev59.com/DGMl5IYBdhLWcg3wHj5O - Tom
@Tom 你确定这适用吗?Python 2和Python 3是不同的软件包。 - Robo Robok
对我来说,Brew 只适用于 python3,并没有添加 python 链接。我不得不进入并切割我的 .bashrc.profile 来编辑我的 $PATH,因为一些插入物使其变得混乱,可能是由于之前的安装,然后在 /opt/homebrew/bin 中添加一个 python 符号链接到我想要的 python3 旁边的 python3 符号链接。 - NeilG
现在brew不再使用switch了。也许我们可以更新问题和答案? - undefined
3个回答

94

1
一旦按照您所描述的步骤进行操作,使用 brew uninstall python@3.8 就可以了吗?因为它将不再具有任何依赖关系了。 - NZisKool
对我来说不需要使用 --force 和重新打开控制台,至少 python3 --version 显示已链接的 Python 版本。 - mrgloom
这里还有一个例子,我在取消链接/链接后遇到了一些问题:https://dev59.com/osHqa4cB1Zd3GeqP4KMX#68729295 - mrgloom
第三个命令出现了这个错误信息:Error: Could not symlink bin/2to3 Target /usr/local/bin/2to3 already exists. You may want to remove it: rm '/usr/local/bin/2to3' To force the link and overwrite all conflicting files: brew link --overwrite python@3.9 我执行了上述命令,问题得到解决。 - rturquier
1
这已经过时了,请忽略(真希望现在有个“踩”的按钮!) - Eric Chen

6

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

curl https://pyenv.run | bash
exec $SHELL

然后使用以下命令查找您想要切换到的Python版本的名称:

pyenv versions

然后使用以下代码进行选择:

pyenv global <version-name>

在你的情况下,它很可能被命名为3.9.0


2
为什么我不想通过Homebrew安装pyenv呢? - Robo Robok
上面的脚本可以通过Homebrew安装,并设置在启动时启动pyenv。@RoboRobok - Seth
1
怎么会呢?这里有 brew install pyenv 来解决这个问题 :D - Robo Robok
是的,但它也修改了开机脚本,而brew install没有这样做。它只是少了些麻烦。@RoboRobok - Seth
11
这对我没用。在使用"brew install pyenv"安装后,即使我也通过Homebrew 安装了Python版本3.8、3.9和3.10,在运行"pyenv versions"命令时,只会列出"system"。请帮我看看怎么解决这个问题。 - markshep
我之前使用Homebrew安装了Python,但后来不得不通过“brew uninstall python@3.9”卸载它。之后,我通过“pyenv install 3.8.6”安装了一个旧版本,并且“pyenv versions”在“/Users/${USER}/.pyenv/version”下返回了正确的版本。 - Hahnemann

5
更新的MacOS Monterrey。
对于遇到这个问题的人,请将pyenv路径添加到您的~/.zshrc shell文件中。
export PATH="/Users/username/.pyenv/shims:${PATH}"
eval "$(pyenv init --path)"

在终端中运行:
source ~/.zshrc

看一下:

python3 --version

来自GitHub上的问题。


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