Upgrade Python Mac Terminal



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 should work with any CPython and defaults to the macOS system Python.

Python may crash (see Common Issues) if you import from a brewed Python if you ran brew install pythonbindings 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 ). I'm running Ubuntu 9:10 and a package called M2Crypto is installed (version is 0.19.1). I need to download, build and install the latest version of the M2Crypto package (0.20.2). The 0.19.1 packa. Pip install -upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib. See the library's installation page for the alternative installation options. Step 3: Set up the sample. Create a file named quickstart.py in your working directory and copy in the following code. This page shows how to install Python 3 or Python 2.7 on RHEL 8 using yum command. How to Install Python 3 / Python 2.7 on RHEL 8. The procedure for installing Python 3 on RHEL 8 is as follows: Open the Terminal application or window. Search for python package in RHEL 8, run: sudo yum search python3. To install tmux, paste this into your Mac terminal: brew install tmux. This is another complicated CLI app, so here’s the documentation to help you figure it out. Scroll to the bottom of that page for the READ ME. Mas: Install apps on the Mac App Store from your terminal.

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.

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:

Upgrade Python 3 Mac Terminal

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?

Formulae that declare an unconditional dependency on the 'python' formula are bottled against Homebrew’s Python 3.x and require it to be installed.

Complete the steps described in the rest of this page to create a simple Pythoncommand-line application that makes requests to the Gmail API.

Prerequisites

To run this quickstart, you'll need:

  • Python 2.6 or greater
  • The pip package management tool
  • A Google account with Gmail enabled

Step 1: Turn on the Gmail API

Click this button to create a new Cloud Platform project and automaticallyenable the Gmail API:

Update Python Macos Terminal

In resulting dialog click DOWNLOAD CLIENT CONFIGURATION and save the filecredentials.json to your working directory.

Step 2: Install the Google Client Library

Upgrade Python On Mac Terminal

Run the following command to install the library using pip:

See the library's installationpage for the alternativeinstallation options.

Step 3: Set up the sample

Create a file named quickstart.py in your working directory and copy in thefollowing code:

Step 4: Run the sample

Run the sample using the following command:

  1. The sample will attempt to open a new window or tab in your defaultbrowser. If this fails, copy the URL from the console and manually open it inyour browser.

    If you are not already logged into your Google account, you will beprompted to log in. If you are logged into multiple Google accounts, you willbe asked to select one account to use for the authorization.

  2. Click the Accept button.
  3. The sample will proceed automatically, and you may close the window/tab.
Great! Check out the further reading section below to learn more.
Bummer, let us know what went wrong. Check out our troubleshooting section below for some common errors and solutions. If you have found a bug in the code, report the issue on GitHub or submit a pull request.

Notes

  • Authorization information is stored on the file system, so subsequentexecutions will not prompt for authorization.
  • The authorization flow in this example is designed for a command-lineapplication. For information on how to perform authorization in a webapplication, seeUsing OAuth 2.0 for Web Server Applications.

Upgrade Python In Mac Terminal

Troubleshooting

This section describes some common issues that you may encounter whileattempting to run this quickstart and suggests possible solutions.

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

This error can occur in Mac OSX where the default installation of the sixmodule (a dependency of this library) is loaded before the one that pipinstalled. To fix the issue, add pip's install location to the PYTHONPATHsystem environment variable:

  1. Determine pip's install location with the following command:

  2. Add the following line to your ~/.bashrc file, replacing<pip_install_path> with the value determined above:

  3. Reload your ~/.bashrc file in any open terminal windows using the followingcommand:

TypeError: sequence item 0: expected str instance, bytes found

Upgrade Python Mac Terminal

This error is due to a bug in httplib2, and upgrading to the latest versionshould resolve it:

Cannot uninstall 'six'. It is a distutils installed project...

When running the pip install command you may receive the following error:

This can happen on Mac OSX when pip attempts to upgrade the six package thatcame pre-installed. To work around this issue you can add the flag--ignore-installed six to the pip install command listed in Step 2.

Update Python Mac Terminal Brew

This app isn't verified.

Update Python 3.8 Mac Terminal

The OAuth consent screen that is presented to the user may show the warning'This app isn't verified' if it is requesting scopes that provide access tosensitive user data. These applications must eventually go through theverification process toremove that warning and other limitations. During the development phase you cancontinue past this warning by clickingAdvanced > Go to {Project Name} (unsafe).

Upgrade Python In Terminal Mac

Further reading