2013-04-17 3 views
0

Я полный новичок относительно Python, и у меня возникли проблемы с установкой Scrapy на Mac OS X 10.7. Я пробовал много разных вещей, но в итоге, когда я бегу:Как установить Scrapy на Mac OS X 10.7? (ошибка lxml)

scrapy startproject tutorial 

Я получил эти ошибки:

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 

После много прибегая к помощи, я следовал this post и попробовал:

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

, но он говорит мне:

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). 

И если я запускаю ту же команду с опцией —without-cython, я получаю:

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

(хотя я установил инструменты командной строки XCode)

Заранее спасибо за вашу помощь!

(FYI, я использую MacPorts и пункт установить ...)

ответ

0

Вы упоминаете MacPorts в конце, а также пип. Я думаю, вы смешиваете методы упаковки и установки.

Первая ошибка импорта не следует рассматривать, используя MacPorts питона, как он ставит свои библиотеки в/Opt/

Как вы начали на MacPorts Я хотел бы использовать простой способ

port install py27-scrapy 

Это будет установите все необходимые пакеты (включая python и lxml), чтобы заставить scrapyto работать.

Чтобы запустить scrapy, вам необходимо использовать macports python в /opt/local/bin/python2.7. Это может быть установлено как python по умолчанию, если/opt/local/bin находится на вашем пути, и вы выполняете выбор порта, чтобы выбрать это, как найденный python. Скрипт исполняемого сценария: /opt/local/bin/scrapy-2.7 Номера версий используются, потому что вы можете одновременно работать с несколькими версиями python.

+0

Благодарим за помощь. У меня был 'port select --show python':' Текущая выбранная версия для 'python' - 'none' .' Затем я сделал 'sudo port select --set python python27': ' Выбор 'python27' для 'python 'преуспел. 'python27' теперь активен. ' Теперь я могу запустить проект, набрав 'sudo /opt/local/bin/scrapy-2.7 startproject tutorial'. – bsfoo116

Смежные вопросы