2015-05-30 2 views
5

У меня есть система OS X, где мне нужно установить модуль для python 2.6. Оба pip и easy_install-2.6 терпят неудачу:Как установить pip для Python 2.6 на OS X?

# /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') 

Загрузка get_pip.py и запустить его с запасом OS X поставляемыми питона 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 

С python2.7, либо метод работает отлично.

+4

Он должен быть автоматически предоставлен при установке Python через 'brew', например:' brew install python'. В качестве альтернативы используйте: 'sudo easy_install pip'. – kenorb

+1

Попробуйте расширение Homebrew, [BrewPip] (http://brewformulas.org/BrewPip). –

+2

Как насчет того, чтобы попытаться установить pip из источника? https://pypi.python.org/pypi/pip#downloads – dermen

ответ

3

Загрузите исходный файл here. Затем выполните

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

(при необходимости заменяя ~/Downloads). Тогда

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

(последняя cd используется, чтобы оставить каталог сборки). Теперь вы должны быть в состоянии запустить

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

По умолчанию пип (при установке из исходников) должен быть установлен в /usr/local/bin. Для того, чтобы проверить:

>> /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) 

Теперь вы можете установить свои любимые пакеты с помощью

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

Если у вас есть противоречивые версии pip в /usr/local/bin вы можете попробовать этот нелепый один лайнер:

>> 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) 

в найдите тот, который связан с py2.6. (в моем случае они все одинаковые)

+0

После этого процесса, похоже, бросается тот же ImportError, как упоминалось в вопросе. – interpolack

1

По умолчанию Homebrew предоставляет команду pip через: brew install python.

Так что попробуйте установить Python с помощью Homebrew. Старайтесь не использовать sudo при работе с brew.

Чтобы проверить, какие файлы устанавливаются с пакетом Python, попробуйте:

$ 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 
... 

который должен состоять pip.

После установки вы должны симлинка установленных файлов вашей формулы пути:

brew link python 

, которые должны создать правильные символические ссылки (например, /usr/local/bin/pip указывая на ваш Cellar/python/2.?.?/bin/pip)

Если у Вас есть вопрос разрешения, вы может исправить это:

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

и убедитесь, что пользователь находится в админ группы (id -Gn $USER).

Затем повторно связать его снова:

brew unlink python && brew link python 

Чтобы проверить всухую, разъединить и запустить: brew link -n python, чтобы увидеть ссылки файлов, которые brew бы ссылку.

После связывания успешно, убедитесь, что ваша системная переменная PATH имеет /usr/local, если нет, то добавьте:

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

в файл ~/.bashrc.

В случае успеха ваш pip должен работать прямо сейчас.


Если вы не хотите использовать Homebrew или установлены два Питоны на вашем Mac, вы можете альтернативно установить его с помощью:

sudo easy_install pip 

Ваша ошибка:

Download error: unknown url type: https

означает, что ваш Python не может обрабатывать протокол HTTPS без поддержки SSL, поэтому попробуйте установить: openssl package (on L inux либо libssl-dev, либо openssl-devel).