2011-10-11 141 views
1

我想在我的本地環境中安裝PyCurl,它在OS X 10.7 Lion上有python 2.7和gcc-4.2。基於這個答案Error installing PyCurl我試着這樣做:在OS X 10.7上安裝pycurl Lion

sudo env ARCHFLAGS="-arch x86_64" pip install pycurl 

,因爲我的gcc-4.2通過Xcode中安裝的失敗:

error: command 'gcc-4.0' failed with exit status 1 

我也試着下載源代碼,構建設置的.py(I改性此基礎上Problem trying to install PyCurl on Mac Snow Leopard):

gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -pipe -DHAVE_CURL_SSL=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/pycurl.c 

這導致相同的錯誤如上。我已經證實我確實擁有gcc-4.2,並且它已鏈接到我的/ usr/bin。

我在想,如果我正確地編譯它,以便知道在安裝時使用gcc-4.2而不是gcc-4.0,它就會工作。但是,我不知道該怎麼做,也沒有找到解釋通過使用某個特定gcc的參數的東西。如果可能,我想避免覆蓋系統默認值。

回答

1

機會是你的系統上安裝了一個32位Python 2.7(可能從python.org下載),它是用gcc-4.0構建的,並且包含PPC通用變體。使用這些Pythons構建C擴展模塊在安裝Xcode 4時很麻煩(默認值爲10.7,可選值爲10.6),因爲gcc-4.0和PPC支持已被刪除。最簡單和最好的長期解決方案是安裝64位/ 32位Python版本(請參閱當前版本的the python.org download page),或者僅使用10.7中的Apple提供的Python 2.7.1(/usr/bin/python2.7)。

+0

我以爲我在使用Apple提供的python安裝Lion。當我做了哪個python時,告訴我路徑是/Library/Frameworks/Python.framework/Versions/2.7/bin/python而不是/usr/bin/python2.7 – ender

+0

不,蘋果提供的Pythons都在'/ System /庫/框架/ Python.framework'。您的shell路徑可能已被修改,以便首先放置該'/ Library .../2.7/bin/python'目錄。 python.org安裝程序默認執行此操作。如果你願意的話,你可以通過修改適當的shell啓動文件來撤銷這個文件,很可能是'.bash_profile'。用'.bash_profile.pysave'查找並比較它。 –

+0

謝謝,我修改了我的.bash_profile以使用內置的python,並且能夠成功安裝pycurl! – ender