title: Upgrading pip uninstalled my pip and now I can't reinstall it on Mac OS X
body: <p>Edit: Forgot to add, it's on Mac OS X 10.10.5 Yosemite</p>
  
  <p>This is one of the reasons I never update my pip because I was afraid this would happen and I would shatter some backwards compatibility ... alas.</p>
  
  <p>I upgraded my pip and suddenly everything broke down and now I can't get it to work. </p>
  
  <pre><code>Last login: Thu May 24 10:52:09 on ttys000
  Hi Jan
  ~&gt; pip install pandas
  Requirement already satisfied: pandas in /usr/local/lib/python2.7/site-packages
  Requirement already satisfied: pytz&gt;=2011k in /usr/local/lib/python2.7/site-packages (from pandas)
  Collecting python-dateutil&gt;=2.5.0 (from pandas)
  /usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning.
    SNIMissingWarning
  /usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
    InsecurePlatformWarning
  /usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
    InsecurePlatformWarning
  /usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
    InsecurePlatformWarning
    Downloading https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl (211kB)
      100% |################################| 215kB 2.7MB/s
  Requirement already satisfied: numpy&gt;=1.9.0 in /usr/local/lib/python2.7/site-packages (from pandas)
  Requirement already satisfied: six&gt;=1.5 in /usr/local/lib/python2.7/site-packages (from python-dateutil&gt;=2.5.0-&gt;pandas)
  Installing collected packages: python-dateutil
    Found existing installation: python-dateutil 2.4.2
      Uninstalling python-dateutil-2.4.2:
        Successfully uninstalled python-dateutil-2.4.2
  Successfully installed python-dateutil-2.7.3
  You are using pip version 9.0.0, however version 10.0.1 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
  </code></pre>
  
  <p>So basically I tried to install pandas again because my dateutil suddenly broke down ... something to do with building a fontcache? I don't know I thought a reinstall would fix the problem. Then it suggested that I should upgrade my pip. Reluctantly I did try to upgrade my pip, </p>
  
  <pre><code>~&gt; pip install --upgrade pip
  zsh: correct 'pip' to '.pip' [nyae]? n
  
  /usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning.
    SNIMissingWarning
  /usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
    InsecurePlatformWarning
  /usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
    InsecurePlatformWarning
  Collecting pip
  /usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
    InsecurePlatformWarning
    Downloading https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl (1.3MB)
      100% |################################| 1.3MB 811kB/s
  Installing collected packages: pip
    Found existing installation: pip 9.0.0
      Uninstalling pip-9.0.0:
  Exception:
  Traceback (most recent call last):
    File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
      status = self.run(options, args)
    File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
      prefix=options.prefix_path,
    File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
      requirement.uninstall(auto_confirm=True)
    File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 752, in uninstall
      paths_to_remove.remove(auto_confirm)
    File "/usr/local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
      renames(path, new_path)
    File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames
      shutil.move(old, new)
    File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 303, in move
      os.unlink(src)
  OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pip-9.0.0.dist-info/DESCRIPTION.rst'
  You are using pip version 9.0.0, however version 10.0.1 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
  exit 2
  </code></pre>
  
  <p>Well. Shit. It stopped halfway and now I am left without pip at all! </p>
  
  <pre><code>~&gt;
  exit 2
  ~&gt; pip install dateutil
  zsh: command not found: pip
  exit 127
  ~&gt; pip
  zsh: command not found: pip
  exit 127
  ~&gt; pip install
  zsh: correct 'pip' to 'pp' [nyae]? n
  zsh: command not found: pip
  exit 127
  ~&gt;
  exit 127
  ~&gt;
  exit 127
  ~&gt; pip
  zsh: correct 'pip' to 'pp' [nyae]? n
  zsh: command not found: pip
  exit 127
  ~&gt;
  exit 127
  ~&gt; pip install
  zsh: correct 'pip' to 'pp' [nyae]? n
  zsh: command not found: pip
  exit 127
  ~&gt; pip install
  zsh: correct 'pip' to 'pp' [nyae]? n
  zsh: command not found: pip
  exit 127
  ~&gt;
  exit 127
  ~&gt;
  exit 127
  </code></pre>
  
  <p>Here I try to use curl to install pip: doesn't work, </p>
  
  <pre><code>~&gt; curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
  100 1603k  100 1603k    0     0   724k      0  0:00:02  0:00:02 --:--:--  724k
  ~&gt; python get-pip.py
  Collecting pip
    Using cached https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl
  Collecting wheel
  /var/folders/47/2fdkbcyx0pzf0l9pprsl8ksw0000gn/T/tmpCLBru6/pip.zip/pip/_vendor/urllib3/util/ssl_.py:339: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  /var/folders/47/2fdkbcyx0pzf0l9pprsl8ksw0000gn/T/tmpCLBru6/pip.zip/pip/_vendor/urllib3/util/ssl_.py:137: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  /var/folders/47/2fdkbcyx0pzf0l9pprsl8ksw0000gn/T/tmpCLBru6/pip.zip/pip/_vendor/urllib3/util/ssl_.py:137: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
    Downloading https://files.pythonhosted.org/packages/81/30/e935244ca6165187ae8be876b6316ae201b71485538ffac1d718843025a9/wheel-0.31.1-py2.py3-none-any.whl (41kB)
      100% |################################| 51kB 4.2MB/s
  praw 3.5.0 has requirement six==1.10, but you'll have six 1.11.0 which is incompatible.
  Installing collected packages: pip, wheel
    Found existing installation: pip 9.0.0
      Uninstalling pip-9.0.0:
  Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pip-9.0.0.dist-info/DESCRIPTION.rst'
  Consider using the `--user` option or check the permissions.
  
  You are using pip version 9.0.0, however version 10.0.1 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
  </code></pre>
  
  <p>Then I try to use easy_install to install pip, doesnt work either, </p>
  
  <pre><code>exit 1
  ~&gt; pip
  zsh: correct 'pip' to 'pp' [nyae]? n
  zsh: command not found: pip
  exit 127
  ~&gt; pip install
  zsh: correct 'pip' to 'pp' [nyae]? n
  zsh: command not found: pip
  exit 127
  ~&gt; pip install 9.0.0
  zsh: correct 'pip' to 'pp' [nyae]? n
  zsh: command not found: pip
  exit 127
  ~&gt; easy_install -U pip
  zsh: correct 'pip' to '.pip' [nyae]? n
  Traceback (most recent call last):
    File "/usr/local/bin/easy_install", line 5, in &lt;module&gt;
      from pkg_resources import load_entry_point
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2928, in &lt;module&gt;
      @_call_aside
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2914, in _call_aside
      f(*args, **kwargs)
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2941, in _initialize_master_working_set
      working_set = WorkingSet._build_master()
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 637, in _build_master
      return cls._build_from_requirements(__requires__)
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 650, in _build_from_requirements
      dists = ws.resolve(reqs, Environment())
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 829, in resolve
      raise DistributionNotFound(req, requirers)
  pkg_resources.DistributionNotFound: The 'setuptools==5.4.2' distribution was not found and is required by the application
  exit 1
  </code></pre>
  
  <p>Some more desperate attempts,</p>
  
  <pre><code>~&gt; which pip
  zsh: correct 'pip' to '.pip' [nyae]? n
  pip not found
  exit 1
  ~&gt; sudo easy_install pip
  zsh: correct 'pip' to '.pip' [nyae]? n
  Password:
  Traceback (most recent call last):
    File "/usr/local/bin/easy_install", line 5, in &lt;module&gt;
      from pkg_resources import load_entry_point
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2928, in &lt;module&gt;
      @_call_aside
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2914, in _call_aside
      f(*args, **kwargs)
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2941, in _initialize_master_working_set
      working_set = WorkingSet._build_master()
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 637, in _build_master
      return cls._build_from_requirements(__requires__)
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 650, in _build_from_requirements
      dists = ws.resolve(reqs, Environment())
    File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 829, in resolve
      raise DistributionNotFound(req, requirers)
  pkg_resources.DistributionNotFound: The 'setuptools==5.4.2' distribution was not found and is required by the application
  exit 1
  ~&gt;
  </code></pre>
  
  <p>I'm usually the kind of guy to just read the instructions and follow the commands listed but I broke my pip by upgrading and I'm having trouble reinstalling.</p>
  
  <p><strong>EDIT: SOLVED IT</strong></p>
  
  <pre><code>~&gt; curl https://bootstrap.pypa.io/ez_setup.py -o - | python
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
  100 12537  100 12537    0     0  71398      0 --:--:-- --:--:-- --:--:-- 71640
  ez_setup.py is deprecated and when using it setuptools will be pinned to 33.1.1 since it's the last version that supports setuptools self upgrade/installation, check https://github.com/pypa/setuptools/issues/581 for more info; use pip to install setuptools
  Downloading https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip
  Extracting in /var/folders/47/2fdkbcyx0pzf0l9pprsl8ksw0000gn/T/tmpdT5I0V
  Now working in
  
   ...
  
  Installed /usr/local/lib/python2.7/site-packages/setuptools-33.1.1-py2.7.egg
  Processing dependencies for setuptools==33.1.1
  Finished processing dependencies for setuptools==33.1.1
  
  ~&gt; sudo easy_install pip==9.0.0
  Searching for pip==9.0.0
  Best match: pip 9.0.0
  Adding pip 9.0.0 to easy-install.pth file
  Installing pip script to /usr/local/bin
  Installing pip3.5 script to /usr/local/bin
  Installing pip3 script to /usr/local/bin
  
  Using /usr/local/lib/python2.7/site-packages
  Processing dependencies for pip==9.0.0
  Finished processing dependencies for pip==9.0.0
  </code></pre>