簡體   English   中英

嘗試在Mac Snow Leopard上安裝PyCurl時遇到問題

[英]Problem trying to install PyCurl on Mac Snow Leopard

我的應用程序需要使用PyCurl,所以我嘗試在我的Mac上安裝它,但我發現了很多問題和錯誤。

要求:首先,我必須說我的Mac上運行的Python版本是基於32位的,因為我需要使用需要32位Python的WxPython。 為此,我使用了:

defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

要安裝我使用過的PyCurl:

sudo env ARCHFLAGS="-arch x86_64" easy_install setuptools pycurl

終端返回:

Best match: setuptools 0.6c11
Processing setuptools-0.6c11-py2.6.egg
setuptools 0.6c11 is already the active version in easy-install.pth
Installing easy_install script to /usr/local/bin
Installing easy_install-2.6 script to /usr/local/bin

Using /Library/Python/2.6/site-packages/setuptools-0.6c11-py2.6.egg
Processing dependencies for setuptools
Finished processing dependencies for setuptools
Searching for pycurl
Best match: pycurl 7.16.2.1
Processing pycurl-7.16.2.1-py2.6-macosx-10.6-universal.egg
pycurl 7.16.2.1 is already the active version in easy-install.pth

Using /Library/Python/2.6/site-packages/pycurl-7.16.2.1-py2.6-macosx-10.6-universal.egg
Processing dependencies for pycurl
Finished processing dependencies for pycurl

所以我認為pycurl已正確安裝並正常工作,但當我啟動我的應用程序時,python返回錯誤:

python /Users/lorenzodenobili/Desktop/Python/AGGIORNATORE_PY/Dropbox/wxPython/test.py  
Traceback (most recent call last):  
  File  "/Users/lorenzodenobili/Desktop/Python/AGGIORNATORE_PY/Dropbox/wxPython/test.py", line 20, in <module>  
    import pycurl  
  File "build/bdist.macosx-10.6-universal/egg/pycurl.py", line 7, in <module>  
  File "build/bdist.macosx-10.6-universal/egg/pycurl.py", line 6, in __bootstrap__  
ImportError: dlopen(/Users/lorenzodenobili/.python-eggs/pycurl-7.16.2.1-py2.6-macosx-10.6-universal.egg-tmp/pycurl.so,  2): no suitable image found.  Did find:  
    /Users/lorenzodenobili/.python-eggs/pycurl-7.16.2.1-py2.6-macosx-10.6-universal.egg-tmp/pycurl.so: mach-o, but wrong architecture  

我真的不知道如何解決這個錯誤,所以我真的需要你的幫助!

嘗試從pip和easy_install安裝時遇到了同樣的問題。 我通過下載pycurl源並為Snow Leopard編譯來安裝和工作。 在pycurl源目錄中,在運行“python setup.py install”之前,如install.txt所示,您需要運行以下命令:

gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -DHAVE_CURL_SSL=1 -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c src/pycurl.c -o build/temp.macosx-10.6-universal-2.6/src/pycurl.o

基本上,它與-arch PPC相同的編譯標志EXCEPT,導致它在Snow Leopard上失敗。

運行上面的命令后,您就可以運行:

python setup.py install

它應該都有效。

編譯PyCurl時,您將以下標志傳遞給編譯器:

ARCHFLAGS="-arch x86_64"

您似乎已經在64位模式下編譯了PyCurl,而您使用的是32位Python。 你用ARCHFLAGS="-arch i386"試過嗎?

暫無
暫無

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

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