2013-04-17 7 views
0

Je suis un débutant total concernant Python et j'ai du mal à installer Scrapy sur Mac OS X 10.7. J'ai essayé beaucoup de choses différentes, mais en résumé, quand je lance:Comment installer Scrapy sur Mac OS X 10.7? (erreur lxml)

scrapy startproject tutorial 

J'ai ces erreurs:

ImportError: dlopen(/Library/Python/2.7/site-packages/lxml/etree.so, 2): Symbol not found: ___xmlStructuredErrorContext 
    Referenced from: /Library/Python/2.7/site-packages/lxml/etree.so 
    Expected in: flat namespace 
in /Library/Python/2.7/site-packages/lxml/etree.so 

Après beaucoup de googler, j'ai suivi this post et essayé:

python setup.py build --static-deps --libxml2-version=2.7.8 && pip install lxml 

mais il me dit:

RuntimeError: ERROR: Trying to build without Cython, but pre-generated 'src/lxml/lxml.etree.c' is not available (pass --without-cython to ignore this error). 

Et si je lance la même commande avec l'option —without-cython, je reçois:

error: command 'llvm-gcc-4.2' failed with exit status 1 

(bien que je l'ai installé les outils de ligne de commande XCode)

Merci d'avance pour votre aide!

(FYI, je me sers MacPorts et Pip installation ...)

Répondre

0

Vous mentionnez Macports à la fin et aussi pépin. Je pense que vous mélangez les méthodes d'emballage et d'installation.

La première erreur d'importation ne doit pas être vu en utilisant un python macports car il met ses bibliothèques sous/opt/

Comme vous avez commencé à macports j'utiliser la manière facile

port install py27-scrapy 

Cette volonté installez tous les paquets nécessaires (y compris python et lxml) pour que scrapy fonctionne.

Pour exécuter scrapy, vous devez utiliser le python macports dans /opt/local/bin/python2.7. Cela peut être défini comme python par défaut si/opt/local/bin est sur votre chemin et que vous exécutez port select pour choisir ceci comme python trouvé. Le script exécutable scrapy est /opt/local/bin/scrapy-2.7 Les numéros de version sont utilisés car vous pouvez avoir plusieurs versions de python en même temps.

+0

Nous vous remercions de votre aide. J'ai 'port select --show python': 'La version actuellement sélectionnée pour' python 'est' none '.' Puis j'ai fait' sudo port select --set python python27': 'Sélection de' python27 'pour' python ' 'réussi. 'python27' est maintenant actif. ' Maintenant, je suis capable de démarrer un projet en tapant 'sudo /opt/local/bin/scrapy-2.7 startproject tutorial'. – bsfoo116

Questions connexes