0

我是一个关于 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

经过大量谷歌搜索后,我关注了这篇文章并尝试了:

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 命令行工具)

在此先感谢您的帮助 !

(仅供参考,我正在使用 MacPorts 和 pip install…)

4

1 回答 1

0

你在最后提到了 Macports 和 pip。我认为您正在混淆包装和安装方法。

使用 macports python 时不应看到第一个导入错误,因为它将其库放在 /opt/ 下

当您开始使用 macports 时,我会使用简单的方法

port install py27-scrapy

这将安装所有需要的包(包括 python 和 lxml)来让 scrapyto 工作。

要运行 scrapy,您需要在/opt/local/bin/python2.7. 如果 /opt/local/bin 在您的路径上,并且您运行 port select 以选择它作为找到的 python,则可以将其设置为默认 python。scrapy 可执行脚本是/opt/local/bin/scrapy-2.7使用版本号,因为您可以同时使用多个版本的 python。

于 2013-04-19T10:36:52.083 回答