Python的点子安装失败:无效的命令egg_info
我发现,最近经常当我尝试使用pip安装Python包时,出现下面的错误。
我在网上find一个参考文献,必须从下载目录中使用“ python2 setup.py install ”,并且确实发现如果我手动查找并下载软件包(来自pypi),那么这将会起作用。
但是,我不知道在哪里下载软件包,和/或为什么它以这种方式失败。
我试图做一个点子升级,但也失败了类似的方式,与一堆“未知的分布选项”错误(entry_points,zip_safe,test_suite,tests_require)!
- 点子1.0.1
- ActivePython 2.7
尝试使用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'
安装与 egg_info
一起egg_info
。
应该像pip install Distribute
一样简单pip install Distribute
。
从版本0.7开始,分发已经合并到Setuptools中。 如果您使用的版本<= 0.6,请使用pip install --upgrade setuptools
升级pip install --upgrade setuptools
或easy_install -U setuptools
。
由于分发已经合并回setuptools,现在推荐安装/升级setuptools:
[sudo] pip install --upgrade setuptools
请记住,你可能必须做pip install --upgrade Distribute
升级如果你已经安装了它,你的pip
可能被称为pip2
Python2在某些系统(这是我的)。
在Ubuntu 12.04 LTS(Precise Pangolin)中,以上都没有为我工作,下面是我如何修复它:
从https://pypi.python.org/pypi/setuptools下载;ez_setup.py (参见“安装说明”一节),然后:
$ sudo python ez_setup.py
我希望能省下一些时间。
我曾遇到过这个问题,以及OS X v10.9 (Mavericks)上Brewed Python的其他一些问题。
sudo pip install --upgrade setuptools
没有为我工作,我认为我的setuptools /分发设置是拙劣的。
我终于把它运行起来了
sudo easy_install -U setuptools
在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
作为依赖python-setuptools
一起使用。 这是一个很老的版本,因此它实际上安装distribute (0.6.10)
。 在安装一个软件包pipe理器之后,我们通常要更新它,所以我们做pip install -U pip
。 当前版本的点是1.5.6。
现在我们去更新setuptools,这个版本的pip很聪明,知道它应该先删除旧的版本。 它这样做,但不是安装最新版本的setuptools,而是安装setuptools (0.6c11)
。
在这一点上,由于setuptools这个非常老的版本,所有的东西都被破坏了,但是我们实际上已经到了一半了。 如果我们现在再次运行完全相同的命令,则pip install -U setuptools
,旧版本的setuptools将被删除,并且安装5.5.1版本。 我不知道为什么pip不能一口气把我们直接带到新版本,但是这就是发生了什么,希望能帮助别人看到这一点,知道你不会发疯。
当您尝试安装pycurl
时,可能会发生此错误。
在这种情况下,你应该这样做
sudo apt-get install libcurl4-gnutls-dev librtmp-dev
(创build于: https : //gist.github.com/lxneng/1031014 )
看起来像默认的easy_install在当前位置被打破:
$ which easy_install /usr/bin/easy_install
解决这个问题的一个方法是在站点包中使用easy_install。 例如:
$ sudo python /Library/Python/2.7/site-packages/easy_install.py boto
我面临同样的问题,我尝试了所有上述的答案。 但不幸的是,以上都没有奏效。
作为说明,我终于用pip uninstall distribute
解决了这个问题。
我知道这是一个较老的问题,但这里是我用cassandra-driver
实际安装在Windows 7 / Python2上的步骤。 我家有Windows 10 / Python3,今晚我会testing一下。 我已经证实,这也适用于Python 2和Python 2。
问题
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解决scheme
- 安装https://www.microsoft.com/en-us/download/details.aspx?id=44266 (用于Python 2.7的Microsoft Visual C ++编译器)
解决scheme (我很想有人解释为什么这个工作)
- 尝试
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
安装了Microsoft Visual C++ Compiler for Python 2.7
- 成功执行
pip install --pre cassandra-driver
- 成功执行
pip uninstall cassandra-driver
- 成功执行
pip install cassandra-driver
重申一下,我不确定为什么这个工作。 现在我的两个主要结论是要么C ++编译器是必需的, 要么运行--pre
选项第一次安装了“常规”安装中缺less的一些依赖关系。 当我有更多的细节时,我会在下class后更新。
pip install -U setuptools
和easy_install
将egg-info放在错误的目录中。
然后我重新安装apt-get install python-dev
。 之后让我安装我想要的驱动程序
我只是将liquidki的答案转换成Ubuntu命令。 在基于Ubuntu的系统上工作!:
sudo apt -y install python-pip pip install -U pip sudo pip install -U setuptools
对于我来说,从8.1.1升级到9.0.1解决了这个问题。
你可以运行像sudo -H pip2 install --upgrade pip
来升级你的pip版本。
sudo apt-get install apache2-dev
解决了我的问题