如何将通过brew安装的Python设置为默认Python?

292

我试图在Mac OS X 10.6.2上切换到Homebrew(之前使用fink和macport)。我已经安装了Python 2.7。

brew install python 
问题是与Macport相反,似乎没有python_select实用程序,我的默认Mac Python始终是默认值。
which python

给我

/usr/bin/python

而且 /usr/bin/python 不是符号链接

我该怎么做让 brew 版本的 python 成为我的默认 python?


25
Homebrew不再覆盖系统安装的Python。您可以执行以下操作:export PATH="/usr/local/opt/python/libexec/bin:$PATH"。来源:https://discourse.brew.sh/t/what-happened-to-the-standard-python-package/935 - George
3
我尝试了所有提到的答案,在我的 $PATH 中,/usr/local/bin 出现在 /usr/bin 之前。我试过使用 brew link 和 unlink,但是 brew doctor 没有报告 /usr/bin 在 /usr/local/bin 之前的问题。然而,当我输入 which python 命令时,输出的是 /usr/bin/python 而不是通过 brew 安装的 python 版本。 - Ujwal Ratra
1
请尝试使用Python2。 - Fraser
3
不建议再使用Homebrew Python进行本地项目开发。请参阅Homebrew Python Is Not For You - fn control option
如果您正在使用Python3,请尝试运行'which python3'。如果可以运行,则'python3 --version'和'pip3 --version'也应该可以运行。 - Anshad Razak
我遵循了fn控制选项的建议,只有这样一切才正常工作。asdf就是正确的选择!!! - undefined
25个回答

1
在Mac OS X上,如果你通过Homebrew安装了Python3(使用brew install python3命令),那么你需要通过终端运行以下命令:
export PATH="/usr/local/opt/python@3.11/libexec/bin:$PATH"

这是针对最新的Python版本3.11。请确保编辑命令以与您的Python版本相对应。


0
brew link python

你必须创建/添加一个Python别名,并将其放入您的.zprofile文件中(位于Users/username文件夹中,如果按Shift+command+.可显示隐藏文件)。

这个别名必须指向您的Homebrew Python安装位置。

alias python ='opt/homebrew/bin/python3'

0
自从 High Sierra 版本以后,您需要使用:
sudo chown -R $(whoami) $(brew --prefix)/*

这是因为/usr/local不再可以更改所有者


0

如果有人需要像我一样玩一下Python,可以直接在终端中调用它:

python3 my_python_file.py

假设Python 3.x已经安装,当然,在我的情况下使用brew。


-10
我不知道你所说的默认Python是什么意思。我认为用不同版本替换系统Python解释器是一种不好的做法。系统功能可能在某种程度上依赖于系统Python和特定模块或特定的Python版本。相反,应该将自定义Python安装在一个安全的不同位置,并根据需要调整$PATH,以便通过路径查找调用你的Python,而不是寻找默认的Python。

6
在 macOS 中,Homebrew 安装的 Python 在路径中排在系统自带的 Python 前面并不会存在风险,这种情况非常普遍。请放心使用。 - Steven Noble
4
需要使用非苹果Python是必要的。我一直在尝试使用默认的(也就是苹果提供的)Python来运行matplotlib、NumPy和SciPy,但它在处理32/64位时会让扩展模块出现问题。很高兴有了好的Brew。而且,通过'Brew install python'命令,Brew会按照你的意愿安装第二个Python到一个独立的结构中,而不会覆盖路径(这正是为什么会有这个Stack Overflow问题的原因)。 - akauppi

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