Python

このページでは、ユーザー向けに Homebrew で Python がどのように処理されるかについて説明します。Python で記述されたパッケージをインストールするための公式の記述方法については、Python for Formula Authors を参照してください。

Homebrew は、パッケージを機能させるために必要な Python 3 バージョンをインストールします。Python 2 (または 1) はサポートされていません。

Python 3

Homebrew は、Python 3 ([email protected]) の最新かつメンテナンスされているリリースの公式を提供します (https://devguide.pythonlang.cn/versions/)。古い [email protected] バージョンは、バージョン付き公式ガイドラインに従って保持しています。

重要: Python はいつでも新しいバージョンにアップグレードされる可能性があります。仮想環境のマイナーバージョンまたはパッチバージョンの安定性が必要な場合は、pyenv などのバージョンマネージャーの使用を検討してください。

実行可能ファイルは次のように構成されています。

pythonpython-configpip などのバージョンなしのシンボリックリンクはここにインストールされます。

$(brew --prefix python)/libexec/bin

警告! 実行可能ファイルは常に最新の Python 3 バージョンを指すとは限りません。これは、最新の Python 3 リリースと homebrew-core リポジトリが最新のバージョンに切り替わる間に常に遅延があるためです。

Setuptools、pip など

Python の公式は pip (as pip3) をインストールします。[email protected] およびそれ以前の Python 公式は Setuptools もインストールします。

[email protected] 以降、バンドルされた Python パッケージは、醸造された Python を再インストールすることで更新する必要があります。古い Python 公式の場合は、以下に説明するように更新できます。

Setuptools は、醸造された Python を再インストールすることなく、pip 経由で更新できます。

python3 -m pip install --upgrade setuptools

同様に、pip は次のようにしてそれ自体をアップグレードするために使用できます。

python3 -m pip install --upgrade pip

site-packagesPYTHONPATH

site-packages は、他の公式によってインストールされたバインディングを含む Python モジュールを含むディレクトリです。Homebrew はここで作成します。

$(brew --prefix)/lib/pythonX.Y/site-packages

そのため、Python 3.y.z の場合は、macOS Intel の /usr/local/lib/python3.y/site-packages にあります。

Python 3.y 还搜索以下模块:

Homebrew 的 site-packages 目录在以下情况下首次创建:(1) 安装了带有 Python 绑定的任何 Homebrew 公式,或 (2) 在 brew install python 中。

为什么在这里?

此位置的理由是,在 Python 的(次要)升级或重新安装之间保留模块。此外,Homebrew 有一项严格的政策,即绝不编写 brew --prefix 之外的内容,因此我们不会向你的系统发送垃圾邮件。

Homebrew 提供的 Python 绑定

一些公式提供 Python 绑定。

非酿造 Python 绑定的政策

这些应该通过 pip install <package> 安装。要发现,你可以使用 https://pypi.org/search

从 Python 3.12 开始,我们强烈建议你为此使用单独的 virtualenv(请参阅有关 PEP 668 的部分)。

酿造的 Python 模块

对于酿造的 Python,使用 pippython3 setup.py install 安装的模块将安装到 $(brew --prefix)/lib/pythonX.Y/site-packages 目录(如上所述)。可执行 Python 脚本将位于 $(brew --prefix)/bin 中。

由于系统 Python 可能不知道在为 Homebrew 安装的软件构建绑定时要设置哪些编译器标志,因此你可能需要运行

CFLAGS="-I$(brew --prefix)/include" LDFLAGS="-L$(brew --prefix)/lib" pip install <package>

PEP 668 ([email protected]) 和虚拟环境

[email protected] 开始,Homebrew 遵循 PEP 668

如果你希望安装非酿造打包的 Python 包(例如来自 PyPI),

可以使用 brew install xyz 将一些 Python 包作为公式安装。我们不建议使用这些公式,而是建议你在 virtualenv 中使用 pip 安装它们。这些系统范围的 Homebrew Python 公式通常是 Homebrew 特定的公式,可用作其他 Homebrew 公式的依赖项。不建议依赖它们。

为什么 Homebrew 的 Python 被安装为依赖项?

声明对 python 公式的无条件依赖性的公式针对 Homebrew 的 Python 3.y 进行装瓶,并要求安装它。

Fork me on GitHub