我是Python的新手,我在Mac OS X 10.7上安装Scrapy时遇到了麻烦。我尝试了很多不同的东西,但总的来说,当我跑步时:
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和pip install ...)
答案 0 :(得分:0)
你最后提到了Macports,也提到了pport。我认为你正在混淆包装和安装方法。
使用macports python不应该看到第一个导入错误,因为它将库放在/ opt /
下当你开始使用macports时,我会使用简单的方法
port install py27-scrapy
这将安装所有需要的软件包(包括python和lxml)以使scrapy可以工作。
要运行scrapy,您需要在/opt/local/bin/python2.7
中使用macports python。如果/ opt / local / bin在您的路径上,则可以将其设置为默认python,并运行port select以选择此作为找到的python。 scrapy可执行脚本是/opt/local/bin/scrapy-2.7
使用版本号,因为您可以同时使用多个版本的python。