【问题标题】:Installing easy_install... to get to installing lxml安装 easy_install... 开始安装 lxml
【发布时间】:2010-03-03 00:31:19
【问题描述】:

我已经认识到 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

【问题讨论】:

  • (re: 你的代码编辑器的问题)缩进四个空格来组成一个代码块,或者在你有一些突出显示的东西时点击编辑器中的“01010”按钮。

标签: python lxml easy-install


【解决方案1】:

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

正如 cmets 指出的那样,为了解决您的特殊问题,您缺少 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 指出我们应该使用 pip。我不知道。包能正常工作真是太好了。
  • @mickey 谢谢!固定。
【解决方案2】:

确保您已安装 libxml2-dev 和 libxslt1-dev

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

那么您的安装应该会正确构建。

【讨论】:

    【解决方案3】:

    尝试: sudo apt-get install python-lxml

    【讨论】:

    • 对于 Python3 使用“apt-get install python3-lxml”
    • 最好使用 pip。它会给你一个比你的包维护者更新的版本。迟早你会很高兴你使用它。
    【解决方案4】:

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

    【讨论】:

    • 这是什么操作系统/发行版?
    • @John 对于 Debain/Ubuntu,更好的命令是 sudo apt-get install build-essential,因为它包括 make 和其他一些通常与 gcc/g++ 一起使用的工具。
    • 啊。 OSX 不安装 gcc 编译器。获取 Homebrew (github.com/mxcl/homebrew) 或其不太聪明的表亲 ports,然后通过它们安装 gcc。您的大部分痛苦都发生了,因为 OS X 上没有官方的、明智的打包程序。对不起。 =/
    • @gotgenes » 你是对的。谢谢你的纠正;我已经相应地更新了。
    • 我试图在 /usr/local 中 mkdir homebrew,但它的权限拒绝了我。通常它只是询问我的密码。
    【解决方案5】:

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

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

    您应该能够使用以下变体安装它们: sudo apt-get 安装 须藤百胜安装

    只有在上述所有内容都成功安装后,您才能尝试运行:

    sudo pip install lxml
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 2016-04-26
      • 2016-12-13
      • 2018-05-01
      • 2013-09-22
      • 2014-12-04
      • 1970-01-01
      相关资源
      最近更新 更多