My app needs to use PyCurl, so I tried to install it on my Mac but I found a lot of problems and errors.
Requirement: First of all I have to say that the version of Python working on my Mac is 32 bit based, because I need to use WxPython, that needs 32 bit Python. For doing this I used:
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
To install PyCurl I used:
sudo env ARCHFLAGS="-arch x86_64" easy_install setuptools pycurl
And the terminal returned:
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
So I thought that pycurl was correctly installed and working, but when I started my app, python return me an error:
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
I really don't have any idea on how to solve this error, so I really need your help!
I ran into the same issue when trying to install from pip and easy_install. I got it installed and working by downloading the pycurl source and compiling for Snow Leopard. In the pycurl source directory, before you run "python setup.py install" as the install.txt says, you need to run this:
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
Basically, it's the same compilation flags EXCEPT for -arch PPC
, which was causing it to fail on Snow Leopard.
Once you run the command above, then you can run:
python setup.py install
And it should all be working.
You passed the following flags to the compiler when compiling PyCurl:
ARCHFLAGS="-arch x86_64"
It seems that you have compiled PyCurl in 64-bit mode, while you use the 32-bit Python. Have you tried it with ARCHFLAGS="-arch i386"
?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With