After the El Capitan update, I am unable to run pip install. Have tried using sudo that doesn't help. What can Install pip macos do to be able to install python libraries smoothly again. Using homebrew makes it possible to manage pip and python separately than the system provided version. Are you installing python 2. You can select from dozens of versions if install pip macos prefer one that's more or less stable for your needs. This is the error you ran into. install pip macos But now pip will crash with an error message while trying to remove the old package. So if you install a newer version of a package elsewhere e. This also makes it impossible to use new packages that have the same name as modules from the standard library. You can work around these issues, but the method depends on your answers to three questions. Installing your own is the safest option, and can be done via the official Python installer, Homebrew or Anaconda. This is also whatas. Otherwise you will have the annoying experience of some scripts accessing the system-installed version of Python and some accessing your own installation. Installing for all users ensures that every program that uses Python including possibly administrative scripts will have access to all the packages you install. However, there's a distant chance that it will interfere with El Capitan's own use of Python. I would hope that Apple uses python -S to ensure they always get the packages they expect, but I have no way to test this. Installing just for your own user account eliminates the possibility of interfering with the system Python installation. I recommend hiding them, so that the newest versions of these packages will automatically be installed in user-accessible locations when needed. If you don't hide this directory, then you will occasionally get messages install pip macos pip was unable to remove an existing package in order to upgrade it to a later version needed by a different package you are installing. In that case, you will need to run pip install --ignore-installedwhich will install the newer version and hide the system-installed version. If you need these, you may be able to get access by symlinking them into your site-packages directory. Now, here are the workarounds. If you usually use sudo pip. The command at the top of this answer is a quicker version of the same thing. There is more information on this at. You may also want to run hash -r if you've recently removed old scripts from the path. Manage Python Path You will need to ensure that the packages you install are higher in Python's search order than system-installed packages. The easiest way to do this is with. This file can have any name you want, but it has to be placed in one or both of these locations, and it has to end with. Install Packages After this, you should be able to install new packages using one of the following commands. For all users: sudo -H pip install For your own user: pip install --user By far the clearest and most complete explanation I've seen of this area, particularly cleanup of existing system Python mess - thank you. My main improvement would be install pip macos strongly recommend using a brew-installed Python, as this is very easy and provides a clean setup that doesn't require sudo. This is in addition to virtualenvs for development projects. Sorry that's the reason that this folder creation is failing, but we have to work around it. Second, you lose all the niceties Apple thought they were giving you, like a bridge via pyObjC, when you install your own Python. Since early setuptools days, Python has a way to make that lookup explicit. It's a bit odd-looking, and should elicit pause to those of us who are security-conscious and not thrilled about the bluntness of shoving it to the top of the list without checking, but you can place a file that ends with e. Oh, and after all this, try just installing with pip's --user option, or using a - that's best practice for most folks anyway. More pythonic and sensible would be to install as --user or use a virtualenv. I'm just of the mind, as a sysadmin, that you install once for a system, and that the user should be able to override system. install pip macos Open the terminal from the Utilities menu, and type in csrutil disable, then press return. Go to the Apple Menu to reboot. We can use csrutil to temporarily disable it if we're in a pinch, although I know that might feel like it could turn into whack-a-mole, but this doesn't seem like a good reason to employ it. Leaving it off is… why we can't have nice things. The package distribution should be upgraded to work correctly with this update. For my case, it was greenlet library trying to write its. See also current top answer to this post: If you type python -m site it should include sys. When installing subsequent packages with pip some of the dependencies were resolved to the older System Python libraries. The solution was to remove my locally installed libraries and reinstall a local python version which includes pip from so that the System and locally installed python instances are kept separate. Cause Don't follow these steps I hit this problem whilst trying to install Ansible. Note that ansible only required setuptools no version and so pip reported the dependency satisfied by the System setuptools.