2012-12-06 50 views
0

可能重複:
How to use/install gcc on Mac OS X 10.8/Xcode 4.4無法在Mac上(GCC-4.0的錯誤)安裝Python包

使用easy_insallpip我無法安裝,因爲以下的任何Python包,錯誤。我到處尋找,看到了這個錯誤的幾個變種,但還沒有找到易於理解/遵循的解決方案。任何幫助深表感謝!

我在Mac OS上運行10.8.1

Python版本2.7.3

的Xcode 4.5.2版本(安裝了命令行工具)

...如果您需要任何更多的信息爲了弄清楚問題,請詢問!

$ easy_install pil 
Searching for pil 
Reading http://pypi.python.org/simple/pil/ 
Reading http://www.pythonware.com/products/pil 
Reading http://effbot.org/zone/pil-changes-115.htm 
Reading http://effbot.org/downloads/#Imaging 
Best match: PIL 1.1.7 
Downloading http://effbot.org/media/downloads/PIL-1.1.7.tar.gz 
Processing PIL-1.1.7.tar.gz 
Writing /var/folders/9q/bvqtzkbx1hg1934b36zgk0y40000gn/T/easy_install-wfZs_Y/PIL-1.1.7/setup.cfg 
Running PIL-1.1.7/setup.py -q bdist_egg --dist-dir /var/folders/9q/bvqtzkbx1hg1934b36zgk0y40000gn/T/easy_install-wfZs_Y/PIL-1.1.7/egg-dist-tmp-DXWOmC 
WARNING: '' not a valid package name; please use only.-separated package names in setup.py 
--- using frameworks at /System/Library/Frameworks 
unable to execute gcc-4.0: No such file or directory 
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1 

不知道這是否會有所幫助,但是當我運行sudo port select --list gcc,我得到如下:

Available versions for gcc: 
    llvm-gcc42 
    mp-gcc45 
    none (active) 
+1

@jdi感謝您的鏈接......但正如我上面提到的,我已經安裝了最新版本的Xcode,並在Xcode首選項(這是該鏈接中接受的解決方案)中安裝了命令行工具。有任何想法嗎? – sgarza62

+0

您是否檢查過您的/開發人員位置和/或其他位置以確定問題是您沒有將其包含在PATH中?運行這個:'find/usr/local/bin/Developer/-name「gcc」| grep「/ bin」 ' – jdi

+0

@jdi當我運行它,我得到'find:/ Developer /:沒有這樣的文件或目錄' – sgarza62

回答

0

這只是一個猜測,基於這樣的事實,你必須安裝使用MacPorts(或sudo port select --list gcc只會給你一個port: command not found錯誤),但我懷疑你已經安裝了MacPorts Python 2.7.3,並且你正在嘗試爲此安裝PIL。

如果要包添加到的MacPorts Python安裝,請務必先檢查,看看是否有它的端口,並且,如果是這樣,使用它:

port search pil 

在這種情況下,你會發現有一個py27-pil。安裝它。

同時,當這並不適用,你應該總是使用pip代替easy_install(也有少數例外,特別是readline),你需要確保你的路徑設置正確,所以你正在運行一個你認爲你自己,或者你可能最終運行腳本設置爲蘋果python的MacPorts python。

但是,我還懷疑您安裝了早期版本的OS X的過時MacPorts安裝,升級到Mountain Lion時沒有按照升級說明進行操作。如果這是真的,唯一合適的修復方法是獲取已安裝端口列表,sudo rm -rf /opt/local,運行最新的MacPorts安裝程序,然後sudo port install所有以前安裝的端口。最後一次,我使用了MacPorts Python(很久以前,所以它可能不是當前信息),它沒有安裝東西到/Library(IIRC,它將/opt/local/Library設置爲一個額外的庫目錄代替),這意味着你實際上有至少3組的Python 2.7的安裝:蘋果公司(在/System/Library/usr),MacPorts的(在/opt/local),以及其他一些版本(在/Library,可能/usr/local),和你」當你打算使用第三個時,請使用第二個的easy_install

如果你不知道如何處理這種多重副本的同一事物的精神錯亂,並且你沒有很好的理由來邀請它,那麼正確的答案是不要安裝這些其他蟒蛇(並卸載你已有的任何東西)。你真的需要MacPorts python嗎?你可以使用內置的Python嗎?如果不是,爲什麼不呢?你至少可以使用python.org Python嗎?

如果您不想修復任何基本問題,並且您確實想將某些東西安裝到希望擁有gcc-4.0的MacPorts Python中,則可以安裝macintosh gcc4.0端口,雖然你可能不得不欺騙相信macports-gcc-4.0真的是gcc-4.0。 (可能有一種方法可以用MacPorts正確地執行此操作;如果沒有,則可以使用符號鏈接。)但這可能是一個糟糕的主意,如果您回來的話,我不會感到驚訝「這似乎工作,但後來我得到這個其他錯誤348分鐘重建東西「,沒有人能夠幫助你。

+0

感謝您的詳細解答。我沒有很好的理由使用MacPorts python。我應該採取哪些步驟來使用內置的Python或python.org Python(我應該卸載/配置什麼)?我非常感謝用我應該運行的最簡單的分步命令來編輯這個問題。 – sgarza62

+0

我相信'sudo port uninstall python27'會將它解開(同時保留它,以防萬一你需要它)。如果你有第三個Python,我不知道如何在不知道哪一個的情況下襬脫它 - 但是如果它是python.org,我很確定他們在網站的某個地方有指示。之後,''easy_install'應該給'/ usr/bin/easy_install'或者'/ System/Library'內的路徑(注意'System'部分),這意味着你再次使用Apple的python。 – abarnert

+0

當我運行'哪個easy_install'時,如果我仍然得到'/ Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install',我需要卸載第三個Python嗎? – sgarza62