2010-05-06 7 views
6

Mon application doit utiliser PyCurl, j'ai donc essayé de l'installer sur mon Mac mais j'ai trouvé beaucoup de problèmes et d'erreurs. Tout d'abord, je dois dire que la version de Python fonctionnant sur mon Mac est basée sur 32 bits, parce que j'ai besoin d'utiliser WxPython, qui a besoin de Python 32 bits. Pour faire cela, j'utilisé:Problème en essayant d'installer PyCurl sur Mac Snow Leopard

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

Pour installer pycurl je:

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

Et le terminal retourné:

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 

Je pensais que pycurl a été installé et fonctionne correctement, mais quand j'ai commencé mon application, python me renvoie une erreur:

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 

Je n'ai vraiment aucune idée sur la façon de résoudre cette erreur, j'ai donc vraiment besoin de votre aide!

Répondre

1

Vous avez passé les drapeaux suivants au compilateur lors de la compilation pycurl:

ARCHFLAGS="-arch x86_64" 

Il semble que vous avez compilé pycurl en mode 64 bits, alors que vous utilisez le Python 32 bits. L'avez-vous essayé avec ARCHFLAGS="-arch i386"?

+0

rien de nouveau arrive .. l'erreur entière dans la réponse! – elledienne

+0

Curieusement, ça marche pour moi, je viens de l'essayer. La seule différence entre votre configuration et la mienne est que j'ai 'libcurl 7.19.7', alors que vous semblez avoir' 7.20.0'. Ce dernier pourrait être incompatible avec 'pycurl', dont le numéro de version est' 7.19.0'. Avez-vous installé 'curl' d'une source tierce? OS X Snow Leopard semble l'inclure par défaut et je l'utilise. –

-1

iMac: pycurl-7.19.0 lorenzodenobili $ env sudo ARCHFLAGS = "- arc i386" easy_install setuptools pycurl Recherche setuptools Meilleur résultat: setuptools 0.6c11 Traitement setuptools-0.6c11-py2.6.egg setuptools 0.6c11 est déjà la version active dans un format facile install.pth Installation easy_install script/usr/local/bin Installation du script en easy_install-2.6/usr/local/bin

aide /Library/Python/2.6/site -packages/setuptools-0.6c11-py2.6.egg Dépendances de traitement pour setuptools Dépendance de traitement terminée s setuptools Recherche de pycurl Lecture http://pypi.python.org/simple/pycurl/ Lecture http://pycurl.sourceforge.net/ Lecture http://pycurl.sourceforge.net/download/ Meilleur: pycurl 7.19.0 Téléchargement http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz Traitement pycurl-7.19.0.tar.gz Exécution pycurl-7.19.0/setup.py - q bdist_egg --dist-dir /tmp/easy_install-tpClDx/pycurl-7.19.0/egg-dist-tmp-bGXtsd Utilisation de curl-config (libcurl 7.20.0) Dans le fichier fourni par/opt/local/include/curl/curl.h: 36, de src/pycurl.c: 50: /opt/local/include/curl/curlrules.h:144: erreur: taille du tableau 'curl_rule_01 'est négatif /opt/local/include/curl/curlrules.h:154: erreur: taille du tableau' curl_rule_02 'est négatif erreur: Le script d'installation s'est terminé avec une erreur: la commande' gcc-4.2 'a échoué avec la sortie état 1

2

J'ai rencontré le même problème lors de l'installation de pip et easy_install. Je l'ai installé et travaillé en téléchargeant la source pycurl et en compilant Snow Leopard. Dans le répertoire source de pycurl, avant d'exécuter "python setup.py install" comme installation.txt dit, vous devez exécuter ceci:

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 

Fondamentalement, ce sont les mêmes drapeaux de compilation SAUF pour -arch PPC, qui était à l'origine à échouer sur Snow Leopard.

Une fois que vous exécutez la commande ci-dessus, vous pouvez exécuter:

python setup.py install 

Et il faut tous travailler.

+0

Merci! A travaillé pour moi! – Dmitry

Questions connexes