安装easy_install ...以安装lxml

时间:2010-03-03 00:31:19

标签: python lxml easy-install

我已经开始认识到ElementTree不会按照我的意愿去做。我已经查看了lxml的文档,看来它将满足我的目的。要获得lxml,我需要获得easy_install。所以我从here下载了它,并将其放在/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/中。然后我去了那个文件夹,然后跑了sh setuptools-0.6c11-py2.6.egg

安装成功。然后我很兴奋,因为我认为easy_install的重点是我可以通过easy_install lxml进行安装,并且lxml会神奇地下载,构建和正确安装,为我的导入享受做好准备。所以我跑了easy_install lxml。我粘贴了下面的结果。我该怎么办?

easy_install lxml
Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.2.6
Downloading http://codespeak.net/lxml/lxml-2.2.6.tgz
Processing lxml-2.2.6.tgz
Running lxml-2.2.6/setup.py -q bdist_egg --dist-dir /var/folders/49/49N0+g5QFKCm51AbzMtghE+++TI/-Tmp-/easy_install-rxbP6K/lxml-2.2.6/egg-dist-tmp-fjakR0
Building lxml version 2.2.6.
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available.
Using build configuration of libxslt 1.1.12
Building against libxml2/libxslt in the following directory: /usr/lib
unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1

5 个答案:

答案 0 :(得分:23)

首先我们不再使用easy_install了。我们使用pip。请改用pip。

为了解决你的特殊问题,正如评论所指出的那样,你错过了GCC。在OS X上,Xcode命令行工具提供了GCC,以及在OS X上构建软件所需的许多其他程序。对于OS X 10.9(Mavericks)及更新版本,可以通过App Store安装Xcode,或者,仅使用

安装Xcode命令行工具
xcode-select --install

有关详细信息,请参阅Apple Developer FAQ或在网络上搜索“安装Xcode命令行工具”。

对于旧版OS X,您可以从downloads page of the Apple Developer website获取Xcode命令行工具(需要免费注册)。

安装GCC后,如果系统上未安装C / C ++库依赖项,则编译期间可能仍会遇到错误。在OS X上,Homebrew项目是安装和管理此类依赖项的最简单方法。按照Homebrew网站上的说明在您的系统上安装Homebrew,然后发出

brew update
brew install libxml2 libxslt

在您的情况下可能会造成进一步的麻烦,您将下载的setuptools放在/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/中。请不要将任何文件下载到此位置。相反,我建议您将文件下载到您的主目录或常用的Downloads目录。下载后,您应该运行sh setuptools-X.Y.Z.egg,然后将其正确安装到相应的site-packages中,并将可执行文件easy_install放在您的路径上。

答案 1 :(得分:13)

确保安装了libxml2-dev和libxslt1-dev

apt-get install libxml2-dev
apt-get install libxslt1-dev

然后你的安装应该正确构建。

答案 2 :(得分:10)

尝试: sudo apt-get install python-lxml

答案 3 :(得分:2)

看起来lxml想要构建一个需要访问C编译器的扩展。您需要gcc。尝试运行sudo apt-get install build-essential,这应该可以解决这个问题。

答案 4 :(得分:2)

确保首先在系统上安装了以下所有软件包:

gcc gcc-c++ python-devel libxml2 libxml2-dev libxslt libxslt-dev

您应该能够使用以下变体安装它们: sudo apt-get install sudo yum install

如果您已成功安装以上所有内容,则应尝试运行:

sudo pip install lxml