Python pip 安装失败:无效命令 egg_info
- 2025-02-27 09:06:00
- admin 原创
- 59
问题描述:
我发现最近当我尝试使用pip安装Python包时,经常会出现下面的错误。
我在网上找到一个参考,必须使用下载目录中的“ python2 setup.py install ”,并且确实发现,如果我手动找到并下载包(从 pypi ),它就会起作用。
但是,我不知道 pip 将包下载到哪里,以及/或者为什么它以这种方式失败。
我尝试进行 pip 升级,但也以类似的方式失败,并出现一堆“未知分发选项”错误(entry_points、zip_safe、test_suite、tests_require)!
pip 1.0.1
ActivePython 2.7
尝试使用 ActiveState 的 pypm 失败,因为它们的库基础较小,并且不包含这些包。
C: est>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:PlangActivePythonlibdistutilsdist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
E:PlangActivePythonlibdistutilsdist.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:PlangActivePythonlibdistutilsdist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
E:PlangActivePythonlibdistutilsdist.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'
解决方案 1:
安装附带 的distributionegg_info
。
应该像一样简单pip install Distribute
。
从 0.7 版开始,Distribute 已合并到 Setuptools 中。如果您使用的版本 <=0.6,请使用pip install --upgrade setuptools
或进行升级easy_install -U setuptools
。
解决方案 2:
由于 deliver 已经合并回 setuptools,现在建议安装/升级 setuptools:
[sudo] pip install --upgrade setuptools
解决方案 3:
请记住,pip install --upgrade Distribute
如果您已经安装了它,则可能必须这样做,并且在某些系统上pip
可能会调用Python2(在我的系统上是这样的)。pip2
解决方案 4:
我遇到了这个问题,以及OS X v10.9(Mavericks)上的 Brewed Python 的一些其他问题。
sudo pip install --upgrade setuptools
对我来说不起作用,并且我认为我的 setuptools/distribute 设置被搞砸了。
我终于通过运行让它工作了
sudo easy_install -U setuptools
解决方案 5:
以上方法在Ubuntu 12.04 LTS (Precise Pangolin)上都不起作用,下面是我最终修复它的方法:
从下载setuptools下载ez_setup.py(参见“安装说明”部分),然后:
$ sudo python ez_setup.py
我希望它能为某些人节省一些时间。
解决方案 6:
当您尝试安装时可能会发生此错误pycurl
。
在这种情况下你应该这样做
sudo apt-get install libcurl4-gnutls-dev librtmp-dev
(创建于此处: https: //gist.github.com/lxneng/1031014)
解决方案 7:
在 CentOS 6.5 上,全新安装的简短答案是:
`yum -y install python-pip
pip install -U pip
pip install -U setuptools
pip install -U setuptools`
您没有看到重复,您必须运行两次 setuptools upgrade。详细答案如下:
python-pip
使用 yum安装软件包时会python-setuptools
附带依赖项。这是一个相当旧的版本,因此实际上是在安装distribute (0.6.10)
。安装软件包管理器后,我们通常希望更新它,所以我们这样做了pip install -U pip
。我目前的 pip 版本是 1.5.6。
现在我们去更新 setuptools,这个版本的 pip 足够智能,知道它应该先删除旧版本的 distributor。它这样做了,但并没有安装最新版本的 setuptools,而是安装了setuptools (0.6c11)
。
此时,由于 setuptools 版本太旧,各种问题都出现了,但实际上我们已经解决了一半。如果我们现在再次运行完全相同的命令,pip install -U setuptools
旧版本的 setuptools 将被删除,并安装版本 5.5.1。我不知道为什么 pip 不能一次性直接带我们进入新版本,但这就是正在发生的事情,希望它能帮助其他人看到这一点,并知道你没有发疯。
解决方案 8:
看起来默认的 easy_install 在当前位置已损坏:
`$ which easy_install
/usr/bin/easy_install`
解决此问题的一种方法是使用站点包中的 easy_install。例如:
$ sudo python /Library/Python/2.7/site-packages/easy_install.py boto
解决方案 9:
我遇到了同样的问题,并尝试了上述所有解决方案。但不幸的是,以上方法均无效。
需要注意的是,我最终通过 解决了这个问题pip uninstall distribute
。
解决方案 10:
我知道这是一个老问题,但这是我在 Windows 7/Python2 上实际安装的步骤cassandra-driver
。我家里有 Windows 10/Python3,今晚我将在那里测试它。我已经确认这也适用于安装了 Python 2 和 3 的 Windows 10。
问题
Command "python setup.py egg_info" failed with error code 1 in c:/usersFritoappdatalocal emppip-build-7dgmdccassandra-driver
TL;DR 解决方案
安装https://www.microsoft.com/en-us/download/details.aspx?id=44266(适用于 Python 2.7 的 Microsoft Visual C++ 编译器)
解决方案(我希望有人能解释一下为什么这样做有效)
尝试
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
', '
'), __file__, 'exec'))" install --record c:/usersFritoappdatalocal emppip-ujsxsk-recordinstall-record.txt --single-version-externally-managed --compile --install-headers c:/usersFrito.virtualenvssymdashincludesitepython2.7cassandra-driver" failed with error code 1 in c:/usersFritoappdatalocal emppip-build-sesxxucassandra-driver
已安装
Microsoft Visual C++ Compiler for Python 2.7
成功执行
pip install --pre cassandra-driver
成功执行
pip uninstall cassandra-driver
成功执行
pip install cassandra-driver
重申一下,我不太确定为什么这样做有效。目前我得出的两个主要结论是,要么需要 C++ 编译器,要么第一次运行该--pre
选项会安装一些“常规”安装中缺少的依赖项。当我有更多详细信息时,我会在今晚下班后更新。
解决方案 11:
pip install -U setuptools
并将easy_install
egg-info 放在了错误的目录中。
然后我就重新安装了apt-get install python-dev
。之后让我安装我想要的驱动程序
解决方案 12:
尝试以下命令:
pip install setuptools==28.8.0
解决方案 13:
我只是将 liquidki 的答案转换为 Ubuntu 命令。在基于 Ubuntu 的系统上它可以工作!:
sudo apt -y install python-pip
pip install -U pip
sudo pip install -U setuptools
解决方案 14:
对我来说,将 pip 从 8.1.1 升级到 9.0.1 解决了这个问题。
您可以运行类似的命令sudo -H pip2 install --upgrade pip
来升级您的 pip 版本。
解决方案 15:
当我想在虚拟环境中使用命令安装cairosvg时,也遇到了类似的错误消息“命令‘python setup.py egg_info’失败,错误代码为 1” 。pip install cairosvg
然后我在运行之前尝试了和pip install --upgrade pip
,但仍然收到此错误。pip install --upgrade setuptools
`pip3 install cairosvg`
我可以在安装命令前使用sudo来消除此错误:。但请注意,带有sudosudo pip install cairosvg
的命令将为系统 python 而不是虚拟环境安装包。
因此,我进一步检查了错误消息,发现我在安装cairocffi时遇到了错误。然后,我在安装 cairosvg 之前安装了某个版本的 cairocffi(请参阅此答案)。这就是我解决问题的方法。
扫码咨询,免费领取项目管理大礼包!