Historically MacOS came preinstalled with Python 2, however starting with Mac 10.15 (released in October 2019) this is no longer the case. And since Python 2 will no longer be officially supported as of January 1, 2020, you should really use Python 3 instead.
- Brew install python brew install [email protected] Then pull this PR. Brew upgrade -s [email protected] You need to build from source as the bottle is not published, but in real life once this PR is merged the bottle will be there and the -s is not needed.
- Brew versions is not longer supported. Brew search python3 does not show python3.X versions. Brew tap homebrew/versions does not work neither. How can I install python3.3 in macosx using brew and I don't want to use pyenv.
Python has been installed as $(brew -prefix)/bin/python3 Unversioned symlinks `python`, `python-config`, `pip` etc. Pointing to `python3`, `python3-config`, `pip3` etc., respectively, have been installed into. $ brew search python Formulae app-engine-python boost-python3 ipython python-markdown [email protected] reorder-python-imports boost-python gst-python micropython python-yq [email protected] wxpython Casks awips-python kk7ds-python-runtime mysql-connector-python If you meant 'python' specifically: It was migrated from homebrew/cask to homebrew/core.
There are multiple ways to install Python 3 on a MacOS computer. The official Python website even recommends downloading it directly, however this approach can cause confusion around PATH variables, updates, and uninstalls. A better approach, in my opinion, is to instead use the popular package manager Homebrew which automates updates and juggling multiple versions of Python on a computer.
Is Python 3 already installed?
Before we start, make sure Python 3 isn’t already installed on your computer. Open up the command line via the Terminal application which is located at
Applications -> Utilities -> Terminal.
Then type the command
python --version followed by the Enter key to see the currently installed version of Python.
Note: The dollar sign, (
$), indicates user input. Everything after is intended to be typed by the user followed by the Enter key. Any output, such as
Python 2.7.17 in this case, does not have a dollar sign in front.In short: don’t type
$ before your commands!
It’s possible that Python 3 may have already been installed as
python3. Run the command
python3 --version to check, however most likely this will throw an error.
The first step for Python 3 is to install Apple’s Xcode program which is necessary for iOS development as well as most programming tasks. We will use XCode to install Homebrew.
In your Terminal app, run the following command to install XCode and its command-line tools:
It is a large program so this make take a while to download. Make sure to click through all the confirmation prompts XCode requires.
Next install Homebrew by copy/pasting the following command into Terminal and then type Enter:
To confirm Homebrew installed correctly, run this command:
Install Python 3
Now we can install the latest version of Python 3. Type the following command into Terminal and press Enter:
To confirm which version of Python 3 was installed, run the following command in Terminal:
Finally, to run our new version of Python 3 open an interactive shall by typing
python3 within Terminal:
To exit the Python 3 interactive shell, you can type either
exit() and then Return or type
Control+d which means hold both the Control and D keys at the same time.
Note that it is still possible to run Python 2 by simply typing
By default, Python packages are installed globally on your computer in a single directory. This can cause major problems when working on multiple Python projects!
For example, imagine you have Project A that relies upon Django 1.11 whereas Project B uses Django 2.2. If you naively installed Django on your computer, only the latest install would be present and available in that single directory. Then consider that most Python projects rely on multiple packages that each have their own version numbers. There’s simply no way to keep everything straight and not inadvertently break things with the wrong package versions.
The solution is to use a virtual environment for each project, an isolated directory, rather than installing Python packages globally.
Confusingly, there are multiple tools for virtual environments in Python:
- venv is available by default on Python 3.3+
- virtualenv must be installed separately but supports Python 2.7+ and Python 3.3+
- Pipenv is a higher-level tool that automatically manages a separate virtual environment for each project
On MacOS we can install Pipenv with Homebrew.
Mac Brew Install Python 3
Then use Pipenv for any Python packages you wish to install. For example, if you want to work with Django 2.2.6, first create a dedicated directory for it on your computer such as in a
django directory on your Desktop.
Brew Python 3.6
Then install Django within that directory.
If you look within the directory there are now two new files,
Pipfile.lock, which Pipenv uses. To activate the virtual environment type
There will now be parentheses around the name of your current directory which indicates the virtual environment is activate. To exit the virtual environment, type
Brew Install Python 3.7
The lack of parentheses confirms the virtual environment is no longer active.
Brew Python 3 Default
Brew Install Python 3
To learn more about Python, the books Python Crash Course and Automate the Boring Stuff are great resources. For free tutorials on web development with Python check out Learn Django.