我最近经常发现,当我尝试使用 Python 安装pip软件包时,我会收到以下错误。
我在网上找到了一个必须从下载目录中使用“ 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'
答案 0 :(得分:310)
安装 egg_info
附带pip install Distribute
。
应该像 pip install --upgrade setuptools
一样简单。
自版本0.7起,Distribute已合并到Setuptools中。如果您使用的版本
答案 1 :(得分:58)
由于分发已合并回setuptools,现在建议安装/升级setuptools:
[sudo] pip install --upgrade setuptools
答案 2 :(得分:22)
请记住,如果您已经安装了pip install --upgrade Distribute
,那么您可能需要执行pip
,而某些系统上的pip2
可能会被称为{{1}}(在我的网站上)。< / p>
答案 3 :(得分:13)
我遇到了这个问题,以及OS X v10.9(小牛队)上的Brewed Python的其他一些问题。
sudo pip install --upgrade setuptools
对我来说不起作用,我认为我的setuptools /分发设置很糟糕。
我终于通过运行
让它工作了sudo easy_install -U setuptools
答案 4 :(得分:11)
Ubuntu 12.04 LTS(精确穿山甲)上面没有一个对我有用,这就是我最终修复它的方法:
从download setuptools下载 ez_setup.py (请参阅“安装说明”部分),然后:
$ sudo python ez_setup.py
我希望能节省一些时间。
答案 5 :(得分:9)
尝试安装pycurl
时可能会发生此错误。
在这种情况下你应该做
sudo apt-get install libcurl4-gnutls-dev librtmp-dev
答案 6 :(得分:8)
在CentOS 6.5上,干净安装的简短回答是:
yum -y install python-pip
pip install -U pip
pip install -U setuptools
pip install -U setuptools
您没有看到双倍,您必须运行两次setuptools升级。答案如下:
使用yum安装python-pip
包会将python-setuptools
作为依赖项。它是一个非常古老的版本,因此它实际上正在安装distribute (0.6.10)
。安装包管理器后,我们通常要更新它,因此我们执行pip install -U pip
。当前版本的pip对我来说是1.5.6。
现在我们去更新setuptools,这个版本的pip非常聪明,知道它应该首先删除旧版本的分发版。它会这样做,但不是安装最新版本的setuptools而是安装setuptools (0.6c11)
。
此时由于这个极端旧版本的setuptools,各种各样的东西都被破坏了,但我们实际上已经到了一半。如果我们现在再次运行完全相同的命令pip install -U setuptools
,则删除旧版本的setuptools,并安装版本5.5.1。我不知道为什么pip不能一次性直接看到新版本,但这就是发生的事情,希望它能帮助其他人看到这一点,并且知道你了不要疯了。
答案 7 :(得分:6)
看起来默认的easy_install在当前位置被破坏了:
$ which easy_install
/usr/bin/easy_install
解决此问题的方法是在站点包中使用easy_install。例如:
$ sudo python /Library/Python/2.7/site-packages/easy_install.py boto
答案 8 :(得分:6)
我遇到了同样的问题,我尝试了以上所有答案。但不幸的是,以上都没有奏效。
作为一个说明,我最终通过pip uninstall distribute
解决了这个问题。
答案 9 :(得分:5)
我知道这是一个较旧的问题,但这里是我用来cassandra-driver
实际安装在Windows 7 / Python2上的步骤。 我在家里有windows 10 / Python3,今晚我将对此进行测试。我已经确认这也可以在Windows 10上使用Python 2和3。
<强>问题强>
Command "python setup.py egg_info" failed with error code 1 in c:\users\Frito\appdata\local\temp\pip-build-7dgmdc\cassandra-driver
TL; DR解决方案
解决方案(我很想有人解释为什么会这样做)
pip install cassandra-driver
并收到上述错误消息pip install --pre cassandra-driver
并收到以下错误distutils.errors.DistutilsError: Setup script exited with error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27 Command "c:\users\Frito\.virtualenvs\symdash\scripts\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\Frito\\appdata\\local\\temp\\pip-build-sesxxu\\cassandra-driver\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\Frito\appdata\local\temp\pip-ujsxsk-record\install-record.txt --single-version-externally-managed --compile --install-headers c:\users\Frito\.virtualenvs\symdash\include\site\python2.7\cassandra-driver" failed with error code 1 in c:\users\Frito\appdata\local\temp\pip-build-sesxxu\cassandra-driver
Microsoft Visual C++ Compiler for Python 2.7
pip install --pre cassandra-driver
pip uninstall cassandra-driver
pip install cassandra-driver
重申一下,我不确定为什么会这样。现在我的两个主要结论是,在第一次安装“常规”安装中缺少的某些依赖项时,运行--pre
选项的C ++编译器是或。我有更多细节后会在下班后今晚更新。
答案 10 :(得分:1)
pip install -U setuptools
和easy_install
将egg-info放在错误的目录中。
然后我重新安装了apt-get install python-dev
。
让我在那之后安装我想要的驱动程序
答案 11 :(得分:0)
我只是将liquidki的答案转换为Ubuntu命令。在基于Ubuntu的系统上,它可以工作!:
sudo apt -y install python-pip
pip install -U pip
sudo pip install -U setuptools
答案 12 :(得分:0)
对我来说,将pip从8.1.1升级到9.0.1解决了这个问题。
您可以运行类似sudo -H pip2 install --upgrade pip
的内容来升级您的点数版本。
答案 13 :(得分:0)
尝试以下命令:
pip install setuptools==28.8.0
答案 14 :(得分:0)
我也遇到类似的错误消息
“命令'python setup.py egg_info'失败,错误代码为1”
当我想在虚拟环境中使用命令pip install cairosvg
安装 cairosvg 时。
然后我在运行pip install --upgrade pip
之前尝试了pip install --upgrade setuptools
和pip3 install cairosvg
,但是仍然出现此错误。
我可以使用安装命令sudo pip install cairosvg
前面的 sudo 消除此错误。
但是请注意,带有 sudo 的命令将为系统python而非虚拟环境安装软件包。
因此,我进一步检查错误消息,并发现在安装 cairocffi 时收到错误消息。然后,在安装cairosvg之前,先安装特定版本的cairocffi(refer to this answer)。这就是我解决问题的方式。
答案 15 :(得分:-3)
sudo apt-get install apache2-dev
解决了我的问题