如何使用 brew 安装的 Python 作为默认 Python?

2025-03-12 08:50:00
admin
原创
92
摘要:问题描述:我尝试在 Mac OS X 10.6.2 上切换到 Homebrew(使用 fink 和 macport 之后)。我已经安装了 python 2.7brew install python 问题是,与 Macport 相反,似乎没有 python_select 实用程序,并且我的默认 mac pyt...

问题描述:

我尝试在 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 brew flavor 成为我的默认 python?


解决方案 1:

根据 homebrew 安装程序本身的建议,请确保将其添加到您的.bashrc.zshrc

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

解决方案 2:

由于您使用 Homebrew,以下命令可以提供更好的图像:

brew doctor

输出:

==> /usr/bin 出现在 /usr/local/bin 之前 这意味着将使用系统提供的程序而不是 Homebrew 提供的程序。如果您安装了 Python,则会出现问题。

考虑编辑你的.bash_profile 以将:/usr/local/bin 放在你的 $PATH 中的 /usr/bin 之前。

解决方案 3:

对于 Apple Silicon 机器,路径略有不同。运行后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)

2023 年更新

Brew python 再次改变了它的位置,不得不更新我的~/.zshrc

export PATH="$(brew --prefix)/opt/python@3/libexec/bin:$PATH"

不再有,.../opt/python/...这很烦人,因为现在我必须明确指定 v3,但至少比在评论中指定次要版本要好。

解决方案 4:

请参阅:如何在 Homebrew 中符号链接 python?

$ brew link --overwrite python
Linking /usr/local/Cellar/python/2.7.3... 28 symlinks created
$ which python
/usr/local/bin/python

解决方案 5:

快速修复:

  1. 打开/etc/paths

  2. 更改行的顺序(最高优先级放在最上面)

就我的情况/etc/paths来说:

/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

如果你想了解有关 OSX 中路径的更多信息,我发现这篇文章非常有用:

http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/

解决方案 6:

我为 OSX High Sierra 执行了“brew install python”。它之前$PATH/usr/local/bin任何其他路径,但仍然which python指向系统的 python。

当我深入研究时,我发现没有 python 可执行文件/usr/local/bin。可执行文件名为。要解决此问题,请创建指向的python2符号链接:python`python2`

/usr/local/bin $: ln -s python2 python

解决方案 7:

pythonformula 现在使用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

笔记:

  1. 这样做会隐藏系统默认版本的python

  2. homebrew 用于/usr/local/share/python在旧版本中链接 python。

解决方案 8:

Homebrew 不会替换“/usr/bin”中的内容。您只需要在路径中将“/usr/local/bin”放在“/usr/bin”前面,然后“which python”将为您提供“/usr/local/bin/python”。

强烈不建议替换 /usr/bin/python (或 /usr/bin/ruby)。

解决方案 9:

修改你的 $PATH,在你的 bashrc 或 bash_profile 中添加:

export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH

更多内容请点击这里:
问题 #89791

解决方案 10:

我照做了brew install python,我的$PATH很好,但还是which python给了我系统安装的。重新启动终端解决了这个问题。

解决方案 11:

您需要编辑 PATH 环境变量,以确保在 /usr/bin 之前搜索自制 Python 所在的位置。您还可以在 shell 配置中进行设置,将 PYTHON 等变量设置为所需的 Python 版本,然后调用,$PYTHON而不是python从命令行调用。

此外,正如另一位发帖者所说(尤其是在 Mac 上),不要弄乱 /usr/bin 中的 python 以将其指向另一个 python 安装。如果你这样做,你只会自找麻烦。

解决方案 12:

python现在指向python3,如果需要python 2,请执行以下操作:
brew install python@2然后在 .zshrc 或 .bashrc 文件中
export PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
现在,pyhon --version= Python 2.7.14 和python3 --version= Python 3.6.4。这是我习惯在终端中看到的行为。

解决方案 13:

我相信有办法让自制 Python 成为默认设置,但我认为解决问题的正确方法不是弄乱系统 Python 路径:最好创建一个虚拟环境,其中自制 Python 将成为默认设置(通过使用 virtualenv --python 选项)。使用类似的工具python_select几乎总是一个坏主意。

解决方案 14:

明确添加/usr/local/opt/python/libexec/bin到您的.bash_profile

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

此后,它就应该可以正常工作。

解决方案 15:

使用 pyenv 来安装和切换 Python 版本。多年来我一直在使用 rbenv,它的功能相同,但适用于 Ruby。在此之前,版本管理非常麻烦。

请参阅pyenv 的 github 页面以获取安装说明。基本上是这样的:- 使用 homebrew 安装 pyenv。-brew install pyenv
在 shell 启动脚本末尾添加一个函数,这样 pyenv 就可以发挥它的魔力了。`echo -e 'if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi' >> ~/.bash_profile`

  • 使用 pyenv 安装您需要的任意数量的不同版本的 Python pyenv install 3.7.7

  • 将默认(全局)版本设置为您刚刚安装的现代版本pyenv global 3.7.7

  • 如果您正在处理需要使用不同版本 Python 的项目,请查看pyevn local。这会在项目文件夹中创建一个指定 Python 版本的文件。Pyenv 将使用该文件中的版本覆盖全局 Python 版本。

解决方案 16:

在 Mac OS X 上,如果您通过 Homebrew 安装了 Python3 brew install python3,那么您需要通过终端运行以下命令:

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

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

解决方案 17:

只要这样做:

brew install python
brew link python

完成后,将其添加到您的 bashrc 或 bash_profile:

alias python='/usr/local/bin/python2'

享受!

解决方案 18:

试试这个

which python3

尝试输入python3而不是仅仅python

解决方案 19:

您可以编辑 /etc/paths。这是我的:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

然后添加 python 版本的符号链接。在我的例子中

$ cd /usr/local/bin
$ ln -s python3 python

瞧!

解决方案 20:

如果你是鱼壳

echo 'set -g fish_user_paths "/usr/local/opt/python/libexec/bin" $fish_user_paths' >> ~/.config/fish/config.fish

解决方案 21:

大家好!我需要使用 Python 3.10 版本来利用其新功能。我在 2022-07-03 的解决方案如下。祝您 Python 编程愉快!

» rm '/usr/local/bin/pip3.10'
» brew link python@3.10
» echo 'export PATH="/usr/local/opt/python@3.10/bin:$PATH"' >> ~/.zshrc
» python3
Python 3.10.5 (main, Jun 23 2022, 17:15:25) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

解决方案 22:

将其添加到您的 PATH 变量中.bashrc.zshrc

export PATH=$(brew --prefix python)/libexec/bin:$PATH

这将确保当你更新 Python 时,它也会被更新

解决方案 23:

所以我也遇到了这个问题,花了点时间,但我终于搞明白了。我不得不使用 which python 来找出 python 的安装位置,结果发现我是用 homebrew 安装的,pip 在 Frameworks 目录下

 which pip
/Library/Frameworks/Python.framework/Versions/3.12/bin/pip

因此,我也安装了 pip 和 homebrew,并尝试再次安装它,并得到以下结果

pip install pandas
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try brew install
    xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-brew-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.
    
    If you wish to install a non-brew packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

因此我按照它的建议在我的项目所在的目录中创建了一个虚拟环境。

python3 -m venv ./

之后我仍然无法得到它,pip 一直给我同样的错误,直到我像这样运行它:

./bin/pip install pandas

并且成功了...所以我现在运行

./bin/python3 filename.py

我不再收到错误。关键在于找到您实际使用的 Python 的位置,并使用它来运行您的脚本。

我希望这对某些人有帮助!

解决方案 24:

从 High Sierra 开始,您需要使用:

sudo chown -R $(whoami) $(brew --prefix)/*

这是因为/usr/local不能再被 chowned

解决方案 25:

brew link python

并且您必须为 python 创建/添加一个别名并将其放在您的 .zprofile 中(位于 Users/username 文件夹中,如果您按下 Shift+command+.

这必须指向你的自制 Python 安装位置。

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

解决方案 26:

好吧,如果有人需要我需要的东西,比如只是想玩一下 Python,你也可以从终端调用它

python3 my_python_file.py

考虑到已经安装了 python 3.x,当然,在我的情况下使用 brew。

解决方案 27:

只需将 brew 的 Python 目录添加到PATH环境变量中,不要对路径进行硬编码,而是直接从 brew 获取它,这样当它发生变化时它不会中断:

export PATH="$(brew --prefix python@3)/libexec/bin:$PATH"
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   3975  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   2742  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Freshdesk、ClickUp、nTask、Hubstaff、Plutio、Productive、Targa、Bonsai、Wrike。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在项目管理过程中面临着诸多痛点,如任务分配不...
项目管理系统   80  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Monday、TeamGantt、Filestage、Chanty、Visor、Smartsheet、Productive、Quire、Planview。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多项目经理和团队在管理复杂项目时,常...
开源项目管理工具   88  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Smartsheet、GanttPRO、Backlog、Visor、ResourceGuru、Productive、Xebrio、Hive、Quire。在当今快节奏的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在选择项目管理工具时常常面临困惑:...
项目管理系统   77  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用