Homebrew Pip3
This page describes how Python is handled in Homebrew for users. See Python for Formula Authors for advice on writing formulae to install packages written in Python.
Homebrewにあるpythonのフォーミュラ名が Deleted Formulae になっていた. Python から python3.7 / python3.8 とバージョン付きに変更になったみたい; pip3を使ってパッケージをアップデートしようとしたらエラーがでて困った・・・. Pip3.8 を使って pip をアップデートする必要があった. I installed python3 using homebrew but it didn't install pip3 or should I say it installed but it doesn't recognize the command? Here is what I did: brew install python3 This installed python3. A command-line package installer is a handy tool that installs your desired software package without a fancy UI, yet it often proves to be more effective than some tools integrated into expensive IDEs. Brew and Pip are two of the more popular options for package installers when using the script language Python. But what’s the difference between them, and which makes more sense for your use? Installing Python 3 and music21 using Homebrew and pip3 Posted on August 15, 2015 by dave In this blog post I’m going to explain how the Python library music21 can be installed in conjuction with Python 3 and its dependencies matplotlib, numpy and scipy on Mac OS X.
Homebrew should work with any CPython and defaults to the macOS system Python.
Homebrew provides formulae to brew Python 3.x.
Homebrew provided a python@2
formula until the end of 2019, at which point it was removed due to the Python 2 deprecation.
Important: If you choose to use a Python which isn’t either of these two (system Python or brewed Python), the Homebrew team cannot support any breakage that may occur.
Python 3.x
Homebrew provides a formula for Python 3.x (python@3.x
).
Important: Python may be upgraded to a newer version at any time. Consider using a versionmanager such as pyenv
if you require stability of minor or patch versions for virtual environments.
Homebrew Upgrade Pip3
The executables are organised as follows:
python3
points to Homebrew’s Python 3.x (if installed)pip3
points to Homebrew’s Python 3.x’s pip (if installed)
Unversioned symlinks for python
, python-config
, pip
etc. are installed here:
Setuptools, Pip, etc.
The Python formulae install pip (as pip3
) and Setuptools.
Setuptools can be updated via pip3, without having to re-brew Python:
Similarly, pip3 can be used to upgrade itself via:
site-packages
and the PYTHONPATH
The site-packages
is a directory that contains Python modules (especially bindings installed by other formulae). Homebrew creates it here:
So, for Python 3.y.z, you’ll find it at /usr/local/lib/python3.y/site-packages
.
Python 3.y also searches for modules in:
/Library/Python/3.y/site-packages
~/Library/Python/3.y/lib/python/site-packages
Homebrew’s site-packages
directory is first created if (1) any Homebrew formula with Python bindings are installed, or (2) upon brew install python
.
Why here?
The reasoning for this location is to preserve your modules between (minor) upgrades or re-installations of Python. Additionally, Homebrew has a strict policy never to write stuff outside of the brew --prefix
, so we don’t spam your system.
Homebrew-provided Python bindings
Some formulae provide Python bindings.
Warning! Python may crash (see Common Issues) if you import <module>
from a brewed Python if you ran brew install <formula_with_python_bindings>
against the system Python. If you decide to switch to the brewed Python, then reinstall all formulae with Python bindings (e.g. pyside
, wxwidgets
, pygtk
, pygobject
, opencv
, vtk
and boost-python
).
Policy for non-brewed Python bindings
These should be installed via pip install <package>
. To discover, you can use pip search
or https://pypi.python.org/pypi.
Note: macOS’s system Python does not provide pip
. Follow the pip documentation to install it for your system Python if you would like it.
Brewed Python modules
For brewed Python, modules installed with pip3
or python3 setup.py install
will be installed to the $(brew --prefix)/lib/pythonX.Y/site-packages
directory (explained above). Executable Python scripts will be in $(brew --prefix)/bin
.
The system Python may not know which compiler flags to set in order to build bindings for software installed in Homebrew so you may need to run:
Virtualenv
WARNING: When you brew install
formulae that provide Python bindings, you should not be in an active virtual environment.
Activate the virtualenv after you’ve brewed, or brew in a fresh terminal window.Homebrew will still install Python modules into Homebrew’s site-packages
and not into the virtual environment’s site-package.
Virtualenv has a --system-site-packages
switch to allow “global” (i.e. Homebrew’s) site-packages
to be accessible from within the virtualenv.
Why is Homebrew’s Python being installed as a dependency?
Homebrew Pip3
Formulae that declare an unconditional dependency on the 'python'
formula are bottled against Homebrew’s Python 3.x and require it to be installed.