How do I install pip for Python 2.6 on OS X?

18,692

Solution 1

Download the source file here. Then do

>> cd ~/Downloads
>> tar -xzvf pip-7.0.1.tar.gz 

(replacing ~/Downloads if necessary). Then

>> cd pip-7.0.1
>> sudo python2.6 setup.py install
>> cd

(the last cd is used to leave the build directory). Now you should be able to run

>> python2.6 -c 'import pip;print pip.__version__'
7.0.1

By default, pip (when installed from source) should be installed into /usr/local/bin. To check:

>> /usr/local/bin/pip --version
pip 7.0.1 from /Library/Python/2.6/site-packages/pip-7.0.1-py2.6.egg (python 2.6)

Now you can install your favorite packages using

>> /usr/local/bin/pip install package
>> python2.6 -c 'import package'

If you have conflicting versions of pip in /usr/local/bin you can try this ridiculous one liner:

>> python -c 'import os;dir="/usr/local/bin";[ os.system("echo %s/%s: && %s/%s --version"%(dir,s,dir,s)) for s in os.listdir("/usr/local/bin") if s.startswith("pip")  ]'
/usr/local/bin/pip:
pip 7.0.1 from /Library/Python/2.6/site-packages/pip-7.0.1-py2.6.egg (python 2.6)
/usr/local/bin/pip2:
pip 7.0.1 from /Library/Python/2.6/site-packages/pip-7.0.1-py2.6.egg (python 2.6)
/usr/local/bin/pip2.6:
pip 7.0.1 from /Library/Python/2.6/site-packages/pip-7.0.1-py2.6.egg (python 2.6)

to find the one linked to py2.6. (in my case they are all the same)

Solution 2

By default Homebrew provides pip command via: brew install python.

So try installing Python using Homebrew. Try to not use sudo when working with brew.

To verify which files are installed with your Python package, try:

$ brew list python
/usr/local/Cellar/python/2.7.9/bin/pip
/usr/local/Cellar/python/2.7.9/bin/pip2
/usr/local/Cellar/python/2.7.9/bin/pip2.7
...

which should consist pip.

After installation you should symlink your formula's installed files by:

brew link python

which should create the right symbolic links (such as /usr/local/bin/pip pointing to your Cellar/python/2.?.?/bin/pip)

If you've permission issue, you may fix it by:

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew

and make sure your user is in admin group (id -Gn $USER).

Then re-link it again:

brew unlink python && brew link python

To test dry-run, unlink and run: brew link -n python to see links of files which brew would link.

After linking is successful, make sure that your PATH system variable have /usr/local, if not, add:

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

to your ~/.bashrc file.

If successful, your pip should work now.


If you don't want to use Homebrew or you have two Pythons installed on your Mac, you can alternatively install it via:

sudo easy_install pip

Your error:

Download error: unknown url type: https

means that your Python can't handle HTTPS protocol without having SSL support, so try installing: openssl package (on Linux either libssl-dev or openssl-devel).

Share:
18,692
Virgil Gheorghiu
Author by

Virgil Gheorghiu

Updated on June 04, 2022

Comments

  • Virgil Gheorghiu
    Virgil Gheorghiu almost 2 years

    I have an OS X system where I need to install a module for python 2.6. Both pip and easy_install-2.6 are failing:

    # /usr/bin/easy_install-2.6 pip
    Searching for pip
    Reading http://pypi.python.org/simple/pip/
    Download error: unknown url type: https -- Some packages may not be found!
    Couldn't find index page for 'pip' (maybe misspelled?)
    Scanning index of all packages (this may take a while)
    Reading http://pypi.python.org/simple/
    Download error: unknown url type: https -- Some packages may not be found!
    No local packages or download links found for pip
    error: Could not find suitable distribution for Requirement.parse('pip')
    

    Downloading get_pip.py and running it with the stock OS X-supplied python 2.6:

    # python2.6 ./get_pip.py 
    Traceback (most recent call last):
      File "./get_pip.py", line 17868, in <module>
        main()
      File "./get_pip.py", line 162, in main
        bootstrap(tmpdir=tmpdir)
      File "./get_pip.py", line 82, in bootstrap
        import pip
      File "/tmp/tmpVJBvaW/pip.zip/pip/__init__.py", line 15, in <module>
      File "/tmp/tmpVJBvaW/pip.zip/pip/vcs/subversion.py", line 9, in <module>
      File "/tmp/tmpVJBvaW/pip.zip/pip/index.py", line 30, in <module>
      File "/tmp/tmpVJBvaW/pip.zip/pip/wheel.py", line 34, in <module>
      File "/tmp/tmpVJBvaW/pip.zip/pip/_vendor/__init__.py", line 92, in load_module
    ImportError: No module named 'pip._vendor.distlib.scripts'
    
    
    $ python2.6 --version
    Python 2.6.9
    

    With python2.7, either method works fine.

  • interpolack
    interpolack almost 9 years
    Following this process seems to throw the same ImportError as mentioned in the question.