尝试在Mac雪豹上安装PyCurl时出现问题

2024-10-03 19:29:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

要安装PyCurl,我使用了:

^{pr2}$

终端返回:

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  

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


Tags: installinpyforeggeasydependenciesusers
2条回答

编译PyCurl时向编译器传递了以下标志:

ARCHFLAGS="-arch x86_64"

似乎您已经在64位模式下编译了PyCurl,而您使用的是32位Python。你用ARCHFLAGS="-arch i386"试过了吗?在

我在尝试从pip和easy-tu安装时遇到了同样的问题。我通过下载pycurl源代码并为snowleopard编译来安装和工作。在pycurl源目录中,在运行“python”之前设置.py安装“作为安装.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,这是导致它在雪豹上失败的编译标志。在

运行上述命令后,可以运行:

^{pr2}$

所有这些都应该起作用。在

相关问题 更多 >