我有一个OS X系统,我需要为python 2.6安装一个模块。 pip
和easy_install-2.6
都失败了:
# /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提供的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
使用python2.7,任何一种方法都可以正常工作。
答案 0 :(得分:5)
下载源文件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
默认情况下,pip(从源安装时)应安装到/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的那个。 (在我看来,他们都是一样的)
答案 1 :(得分:1)
默认情况下,Homebrew通过pip
提供brew install python
命令。
所以尝试使用Homebrew安装Python。在使用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上安装了两个Pythons,你可以通过以下方式安装它:
sudo easy_install pip
您的错误:
下载错误:未知网址类型:https
表示如果没有SSL支持,您的Python无法处理HTTPS协议,请尝试安装:openssl
包(在Linux上libssl-dev
或openssl-devel
)。