我发现最近当我试图用pip安装一个Python包时,经常会出现下面的错误。
我在网上找到一个参考资料,说必须从下载目录中使用"python2 setup.py install",而且确实发现,如果我手动找到并下载软件包(从pypi),这就可以了。
但是,我不知道pip在哪里下载软件包,和/或为什么它以这种方式失败。
我试着做了一次pip升级,但也以类似的方式失败了,出现了一堆"未知发布选项"的错误(entry_points, zip_safe, test_suite, tests_require)!
试图使用ActiveState'的pypm失败了,因为他们的库基础较小,而且不包括这些包。
C:\test>pip install requests-oauth
Downloading/unpacking requests-oauth
Downloading requests-oauth-0.4.1.tar.gz
Running setup.py egg_info for package requests-oauth
E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'egg_info'
Complete output from command python setup.py egg_info:
E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'egg_info'
安装distribution,它自带egg_info
。
应该像pip install Distribute
一样简单。
从0.7版本开始,Distribute已经被合并到Setuptools中。如果你使用的是<=0.6版本,请使用pip install --upgrade setuptools
或easy_install -U setuptools
升级。
由于distribution已经被合并到setuptools中,现在建议安装/升级setuptools。
[sudo] pip install --upgrade setuptools