簡體   English   中英

在Mac上的easy_install損壞

[英]easy_install broken on Mac

我已將主文件夾從Mac OSX 10.5復制到新的Mac OSX 10.6。 對於二進制軟件包,這破壞了east_intall。 例如,如果我使用Python 2.5:

> easy_install celery
Searching for celery
Reading http://pypi.python.org/simple/celery/
Reading http://github.com/ask/celery/
Reading http://celeryproject.org
Best match: celery 2.2.7
Downloading http://pypi.python.org/packages/source/c/celery/celery-2.2.7.tar.gz#md5=5826cf891eaa6175cc7aab67818094fe
Processing celery-2.2.7.tar.gz
Running celery-2.2.7/setup.py -q bdist_egg --dist-dir /var/folders/TK/TKwwrl0JEyKrCVteN9D+Jk+++TI/-Tmp-/easy_install-RSjVZt/celery-2.2.7/egg-dist-tmp-w4bMT_
...
In file included from Modules/_multiprocessing/multiprocessing.h:6,
                 from Modules/_multiprocessing/multiprocessing.c:9:
/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5/Python.h:18:20: error: limits.h: No such file or directory
...
... millions of errors
...

error: Setup script exited with error: command 'gcc' failed with exit status 1

如果我使用Python 2.6

> easy_install-2.6 celery
Searching for celery
Reading http://pypi.python.org/simple/celery/
Reading http://github.com/ask/celery/
Reading http://celeryproject.org
Best match: celery 2.2.7
Downloading http://pypi.python.org/packages/source/c/celery/celery-2.2.7.tar.gz#md5=5826cf891eaa6175cc7aab67818094fe
Processing celery-2.2.7.tar.gz
Running celery-2.2.7/setup.py -q bdist_egg --dist-dir /var/folders/TK/TKwwrl0JEyKrCVteN9D+Jk+++TI/-Tmp-/easy_install-dCVly4/celery-2.2.7/egg-dist-tmp-PqOUyI
error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: /var/folders/TK/TKwwrl0JEyKrCVteN9D+Jk+++TI/-Tmp-/easy_install-dCVly4/celery-2.2.7/temp/easy_install-61UKvH/PasteDeploy-1.5.0/temp/easy_install-ExR4d0/Paste-1.7.5.1/temp/easy_install-OJw80Y/PasteDeploy-1.5.0/temp/easy_install-Zg0wGJ/Paste-1.7.5.1/temp/easy_install-aWn8hm/PasteDeploy-1.5.0/temp/easy_install-1TOXq2/Paste-1.7.5.1/temp/easy_install-r97tJG/PasteDeploy-1.5.0/temp/easy_install-CNdClq/Paste-1.7.5.1/temp/easy_install-XUejp4/PasteDeploy-1.5.0/temp/easy_install-xN6Jd6/Paste-1.7.5.1/temp/easy_install-zFbJOI/PasteDeploy-1.5.0/temp/easy_install-fc2q_2/Paste-1.7.5.1/temp/easy_install-1rTVrG/PasteDeploy-1.5.0/temp/easy_install-rii66v/Paste-1.7.5.1/temp/easy_install-cZBf5J/PasteDeploy-1.5.0/temp/easy_install-ICPv8M/Paste-1.7.5.1/temp/easy_install-RwRQIz/PasteDeploy-1.5.0/temp/easy_install-x74lHT/Paste-1.7.5.1/temp/easy_install-Yf8l74/PasteDeploy-1.5.0/temp/easy_install-fnl5Wt/Paste-1.7.5.1/temp/easy_install-OwWNt9/PasteDeploy-1.5.0/temp/easy_install-WkOs3d/Paste-1.7.5.1/docs/include/reference_header.txt: File name too long

這不是芹菜特有的問題。 我在使用lxml,matplotlib,scipy等時遇到類似的錯誤。所有二進制程序包(而非純python程序包)都會出現此問題。 我究竟做錯了什么?

> which easy_install
/Library/Frameworks/Python.framework/Versions/Current/bin/easy_install
> which easy_install-2.6
/usr/bin/easy_install-2.6

很難使用所包含的簡短回溯來確定。 一種可能是您復制在Mac OS X 10.5上安裝的單獨的Python 2.5(很可能是使用python.org安裝程序)而無法復制的。 如果是這樣,您要么需要在其中安裝類似的Python 2.5,要么將/Library/Frameworks/Python.frameworks從舊的安裝中移出。 或者,您應該更新為使用更新的Python,即來自python.org的一個或一個系統,或Mac OS X的第三方開源發行商之一,例如MacPorts或自制軟件,Fink或ActiveState。

另一種可能性是您需要從Mac OS X 10.6的Xcode 3安裝程序安裝可選的MacOSX 10.4u SDK 如果是這種情況,您應該看到其中包含10.310.4錯誤消息。

更新:看來您確實為多余的python.org或至少/Library/Frameworks/Python.framework/Versions/Current指向的任何Python版本都安裝了easy_install 您似乎在這里有兩個單獨的問題(Python 2.5和系統2.6)。 在這一點上,我很難在沒有獲得更多信息的情況下猜出這兩個問題是什么。 最好清理並重新開始。

  1. 如果您要從舊系統中刪除舊的Python 2.5,可以按照此處的說明操作,以刪除已安裝的python.org Python。 如果需要,您可以先對其進行復制,也可以使用以下類似的方法對其重命名:

     cd /Library/Frameworks/Python.framework/Versions sudo mv 2.5 2.5-OLD 

    考慮在那里對任何其他Python版本執行相同的操作。 不要刪除或修改/System/Library/Frameworks/usr/bin任何文件。 這些目錄是OS X的一部分。

  2. 確保清理外殼配置文件, .bash_profile等,以確保PATH不再包含此Python。 使您沒有定義任何意外的PYTHONPATH環境變量。

  3. 確保主目錄中沒有任何過時的Distutils配置文件。 查找並重命名或刪除.pydistutils.cfg類的.pydistutils.cfg

     cd ~ ls -al 

    還要確保您在本地目錄中沒有安裝任何意外的私有軟件包。

     ls -al ~/Library/Python ls -al ~/.local 
  4. 檢查並在必要時刪除Apple提供的Python的site-packages目錄中的所有內容:

     cd /Library/Python/2.6/site-packages ls -al cd /Library/Python/2.5/site-packages ls -al 
  5. 啟動一個新的終端會話,並確認一切正常。

  6. 確定要與10.6一起使用的Python版本。 如果可以使用Apple提供的2.6.1或2.5.4版本,請使用它們。 它們都在/usr/bin帶有自己的easy_install版本。

     $ ls -l /usr/bin/python* -rwxr-xr-x 2 root wheel 86000 Jun 24 2010 /usr/bin/python* -rwxr-xr-x 5 root wheel 925 Jul 7 2009 /usr/bin/python-config* lrwxr-xr-x 1 root wheel 75 Nov 7 2010 /usr/bin/python2.5@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5 lrwxr-xr-x 1 root wheel 82 Nov 7 2010 /usr/bin/python2.5-config@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5-config lrwxr-xr-x 1 root wheel 75 Nov 7 2010 /usr/bin/python2.6@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 lrwxr-xr-x 1 root wheel 82 Nov 7 2010 /usr/bin/python2.6-config@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6-config -rwxr-xr-x 2 root wheel 86000 Jun 24 2010 /usr/bin/pythonw* lrwxr-xr-x 1 root wheel 76 Nov 7 2010 /usr/bin/pythonw2.5@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/pythonw2.5 lrwxr-xr-x 1 root wheel 76 Nov 7 2010 /usr/bin/pythonw2.6@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/pythonw2.6 $ ls -l /usr/bin/easy* -rwxr-xr-x 2 root wheel 925 Jun 30 2009 /usr/bin/easy_install* -rwxr-xr-x 1 root wheel 421 Jun 30 2009 /usr/bin/easy_install-2.5* -rwxr-xr-x 1 root wheel 421 Jun 30 2009 /usr/bin/easy_install-2.6* 
  7. 如果您需要更新的Python版本,請考慮從python.org或自制軟件,MacPorts,Fink,ActiveState等安裝最新的Python(Python 2.7.2是Python 2的當前版本)。更新您的shell必要時使用PATH。 (例如,默認情況下python.org安裝程序會適當修改您的Shell配置文件。)

  8. 如果安裝尚未隨easy_install (python.org尚未提供,則其他一些工具具有可選軟件包),請安裝Distribute軟件包,該軟件包將為其提供easy_install

你安裝了XCode嗎? 看來您還沒有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM