我尝试在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不是符号链接

我怎么做才能使python酿造风味成为我的默认python ?


当前回答

Python现在指向python3,如果你需要python2,那么做: 酿造安装python@2,然后在你的。zshrc或。bashrc文件 导出路径= " / usr /地方/ opt / python@2 / libexec / bin:美元路径” 现在,pyhon——version = Python 2.7.14和python3——version = Python 3.6.4。 这是我在终端上习惯看到的行为。

其他回答

对于苹果的硅机器来说,路径略有不同。运行brew install python后,必须确保您的~/。zshrc使用正确的Homebrew路径:

# Homebrew
eval "$(/opt/homebrew/bin/brew shellenv)"

# Homebrew: Python
export PATH="/opt/homebrew/opt/python/libexec/bin:$PATH"

结果:

% which python
/opt/homebrew/opt/python/libexec/bin/python

% python --version
Python 3.9.9

% which pip
/opt/homebrew/opt/python/libexec/bin/pip

% pip -V
pip 21.3.1 from /opt/homebrew/lib/python3.9/site-packages/pip (python 3.9)

根据自制程序安装程序本身的建议,请务必将此添加到您的.bashrc或.zshrc:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

当你在使用Homebrew时,下面的命令会给你一个更好的画面:

brew doctor

输出:

==> /usr/bin出现在/usr/local/bin之前。这意味着系统提供的程序将被使用,而不是由 家酿。这是一个问题,如果你。brew安装Python。 考虑编辑.bash_profile,将:/usr/local/bin放在前面 /usr/bin

Python公式现在使用python3(目前为v3.6.5), brew将链接目录:

/usr/local/opt/python -> ../Cellar/python/3.6.5

它还将链接二进制文件:

/usr/local/bin/python3 -> ../Cellar/python/3.6.5/bin/python3

如果仍然需要使用python2。x,使用:

brew install python@2

要使用homebrew的python,只需将其目录放在PATH中,用于bash:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

鱼:

set -x PATH /usr/local/opt/python/libexec/bin $PATH

注意:

这样做将隐藏系统默认的python版本 在旧版本中,Homebrew曾经将python链接到/usr/local/share/python。

使用pyenv来安装和切换Python版本。我多年来一直在使用rbenv,它做同样的事情,但用于Ruby。在此之前,它是地狱管理版本。

查阅pyenv的github页面以获得安装说明。基本上是这样的: -使用自制程序安装pyenv。酿造安装pyenv -在你的shell启动脚本的末尾添加一个函数,这样pyenv就可以做它的魔法了。Echo -e 'if command -v pyenv 1>/dev/null 2>&1;\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

使用pyenv来安装你需要的不同版本的Python。Pyenv安装3.7.7。 将默认(全局)版本设置为刚刚安装的现代版本。Pyenv全局3.7.7。 如果您从事的项目需要使用不同版本的python,请查看pyevn local。这将在项目的文件夹中创建一个指定python版本的文件。Pyenv会用该文件中的版本重写全局python版本。