2012-07-11 80 views
192

我發現最近經常當我嘗試安裝Python包使用pip,我得到下面的錯誤(S)。Python的點子安裝失敗:無效的命令egg_info

我發現了一個參考網上一個人必須使用「python2的setup.py安裝」從下載目錄,果然發現這會工作,那麼如果我手動查找和下載包(一封來自PyPI)。

但是,我不知道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

對我來說,它安裝'python-dev' – lmaooooo 2016-04-15 15:31:00

回答

301

安裝distribute,附帶egg_info

應該像pip install Distribute一樣簡單。

自0.7版起,分發已合併到Setuptools中。如果您使用< = 0.6的版本,請使用pip install --upgrade setuptoolseasy_install -U setuptools進行升級。

+65

不適合我。我已經發布了安裝,但幾乎每次嘗試安裝包時都會收到egg info錯誤 – 2013-07-26 16:05:04

+2

@Henry:更新的答案 – 2013-08-20 20:20:31

+2

對於那些仍然有錯誤的@Zorpix,您可能想要檢查您要調用的pip版本。在Ubuntu上,我發現我的發行版本仍然被調用。 – 2013-10-15 17:58:49

23

請記住,你可能需要做pip install --upgrade Distribute如果您有它已經安裝並pip可能會在某些系統(它是我的)呼籲pip2爲Python2。

+1

請注意,對於典型的Python安裝,這必須在Windows上以管理員模式完成。否則,很容易忽略Distribute的安裝失敗。 – 2015-02-01 06:07:56

+0

這在我的Mac上適用於我 – 2016-07-31 02:19:57

56

由於分配已合併到setuptools的,現在建議安裝/升級的setuptools來代替:

[sudo] pip install --upgrade setuptools 
+7

由於某種原因,我必須運行兩次(在我的虛擬環境中,我分配了0.6.49和setuptools 0.6c11),然後我可以安裝最新版本的pip而沒有任何問題。 – glarrain 2013-12-02 21:53:48

+3

@glarrain它發生在我身上!感謝您的支持!第一次卸載分發0.7,第二次卸載setuptools 0.6c11 – 2014-01-10 15:02:31

10

我有這個問題,以及與釀造的Python上OS X v10.9其他一些問題(小牛) 。

沒有爲我工作,我認爲我的setuptools /分佈設置是拙劣的。

我終於得到它運行

sudo easy_install -U setuptools 
+1

(我已編輯它) – 2015-11-29 17:38:55

+0

這也適用於我! – Rommel 2017-09-12 08:25:09

6

貌似默認的easy_install在其當前位置破工作:

$ which easy_install /usr/bin/easy_install

克服這種情況的方法是使用的easy_install在網站包。例如:

$ sudo python /Library/Python/2.7/site-packages/easy_install.py boto

11

無上述工作對我來說在Ubuntu 12.04 LTS(精確穿山甲),和這裏的我到底是怎麼固定它:從download setuptools

下載ez_setup.py(請參閱「安裝說明」一節)然後:

$ sudo python ez_setup.py 

我希望它可以節省一些時間。

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不會讓我們一口氣直接推出新版本,但這是發生了什麼,希望它能幫助其他人看到這一點,並知道你不會發瘋。

8

當您嘗試安裝pycurl時會發生此錯誤。

在這種情況下,你應該做的

sudo apt-get install libcurl4-gnutls-dev librtmp-dev 

(這裏成立:https://gist.github.com/lxneng/1031014

-3

sudo apt-get install apache2-dev解決我的問題

+5

你回答了錯誤的問題嗎? apache與安裝pip有什麼關係?你能詳細說明這個鏈接嗎? – 2015-10-27 10:05:38

6

我面臨着同樣的問題,我嘗試了上述所有的答案。但不幸的是,以上都沒有奏效。

作爲一個說明,我終於通過​​來解決這個問題。

+3

這解決了我的問題。事實證明,我安裝了一箇舊版本的發行版,並且安裝了一個更舊版本的setuptools,並且比我的系統打包程序安裝的新setuptools更受歡迎...卸載兩個setuptool並分發,然後使用我的系統包裝程序重新安裝setuptools爲我解決了這個問題。 – 2016-01-07 19:29:19

+0

爲我工作............謝謝 – Prateek 2017-11-13 10:16:43

1

pip install -U setuptoolseasy_install將egg-info放在錯誤的目錄中。

然後我剛剛重新安裝apt-get install python-dev。 讓我安裝之後我想要的驅動程序

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

要重申的是,我真的不知道爲什麼這個工作。現在我的兩個主要結論是,無論是C++編譯器都需要還是,運行--pre選項時第一次安裝了「常規」安裝中缺少的一些依賴關係。當我有更多細節時,我會在下班後更新。

+0

這是唯一對我有用的東西。謝謝! – Battousai 2016-08-12 19:26:55

0

我只是將liquidki的答案轉換爲Ubuntu命令。在基於Ubuntu的系統上工作!:

sudo apt -y install python-pip 
pip install -U pip 
sudo pip install -U setuptools 
0

對我來說,將pip從8.1.1升級到9.0.1解決了這個問題。

你可以運行諸如sudo -H pip2 install --upgrade pip的東西來升級你的點子版本。

相關問題