尝试在Mac Snow Leopard上安装PyCurl时遇到问题

ell*_*nne 6 python macos pycurl osx-snow-leopard importerror

我的应用程序需要使用PyCurl,所以我尝试在我的Mac上安装它,但我发现了很多问题和错误.

要求:首先,我必须说我的Mac上运行的Python版本是基于32位的,因为我需要使用需要32位Python的WxPython.为此,我使用了:

defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
Run Code Online (Sandbox Code Playgroud)

要安装我使用过的PyCurl:

sudo env ARCHFLAGS="-arch x86_64" easy_install setuptools pycurl
Run Code Online (Sandbox Code Playgroud)

终端返回:

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
Run Code Online (Sandbox Code Playgroud)

所以我认为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  
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何解决这个错误,所以我真的需要你的帮助!

Tam*_*más 1

编译 PyCurl 时,您将以下标志传递给编译器:

ARCHFLAGS="-arch x86_64"
Run Code Online (Sandbox Code Playgroud)

看来您在 64 位模式下编译了 PyCurl,而您使用的是 32 位 Python。你尝试过吗ARCHFLAGS="-arch i386"