pip not working on hombrew python 2.7 install

Generally, homebrew will install a formula into /usr/local/Cellar/formula and then place a link at /usr/local/bin/formula.

To make use of your installed formulae, make sure /usr/local/bin is in your $PATH. Show your $PATH by typing

echo $PATH

If /usr/local/bin is not in your $PATH, put this line at the end of your ~/.profile file.

export PATH="/usr/local/bin:$PATH"

Now, check what pythons are found on your OSX by typing:

which -a python

There should be one python found at /usr/bin/ (the Apple python) and one at /usr/local/bin/ which is the Homebrew python.

which python

will show you, which python is found first in your $PATH and will be executed when you invoke python.

If you want to know, where the executable is, show it by typing

ls -l $(which python)

This could look like this: lrwxr-xr-x 1 root wheel 68 7 Mai 13:22 python -> /usr/local/bin/python

This will work for pip as well.

If you show the results of this steps, we can probably help you much easier.

-- UPDATE --

You have /usr/local/bin/python linked to /usr/local/Cellar/python/2.7.9/bin/python. -> brew install python worked.

show, if pip is installed by typing

brew list python | grep pip

You should see

/usr/local/Cellar/python/2.7.9/bin/pip

If not, check, if there are links, which are not done with brew install. Told you something like this:

"Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local"

To force the link and overwrite all conflicting files:

brew link --overwrite python

To list all files that would be deleted:

brew link --overwrite --dry-run python

** NO standard Apple /usr/bin/python **

link from /usr/local/Cellar/python/2.7.9/bin/python to /usr/bin/python

ln -s /usr/local/Cellar/python/2.7.9/bin/python /usr/bin/python

This is necessary for all python scripts beginning with #!/usr/bin/python. Especialy easy_install will fail, if link is not there.

Now, you are able to run

easy_install pip

Hope, you're making progress


If brew is managing your python install and pip is no longer symlinked (i.e. you type "which pip" and get no results) try this from your home directory:

brew unlink python && brew link python

Not sure if the old method works any more (it didn't on my machine).

Now confirm it does indeed point to your 2.7 installation with pip --version (it will list the python major version in the directory output).


Not really an answer to the original question, but if anyone ends up here because their Homebrew-installed python/pip are no longer working (i.e. python points to the system python and pip is not found) then the reason might be a recent (summer 2017) change in the way Homebrew installs and links python.

The solution is to add the following to ~/.bash_profile and/or ~/.zshrc:

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

This will make python point to the brew version of python and also give you pip. See the caveats section under brew info python and https://github.com/Homebrew/homebrew-core/issues/15746 for more information