12

我有带选项的virtualenv 。--no-site-packages我在里面使用scrapy。Scrapy通过. _ import libxml2如何使用pipor在 vi​​rtualenv 中安装 libxml2 easy_install

4

6 回答 6

20

pip install ftp://xmlsoft.org/libxml2/python/libxml2-python-2.6.9.tar.gz

于 2011-05-18T13:01:40.447 回答
3

安装 lxml 之前(在 Debian 上):

apt-get install libxml2-dev libxslt1-dev pythonX.X-dev -y

pythonX.X在哪里python2.7python2.6或其他针刺 python 版本。

安装系统包后:

workon %environment_name%
pip install lxml --upgrade
于 2014-08-28T11:55:48.380 回答
3

libxml2 是 C 库而不是 python 包,因此您不能使用 Pip 安装它。通常它已经安装在几乎所有的 Linux 发行版上。如果你需要安装它只是

sudo apt-get install libxml2

如果由于某种原因您绝对需要进行本地安装,则需要获取并安装 .deb 包或 RPM。除非您可以下载源代码并构建它。

如果您可以使用通用副本,但不想在路径中包含 /usr/local/,那么只需在您的 virtualenv 中符号链接即可。

您可以在http://xmlsoft.org/找到更多信息(比您可能想要的更多)

Scrapy 在他们的要求中列出了它:

  • Python 2.5 或更高版本
  • 扭曲 2.5.0 或更高版本
  • libxml2 2.6.28 或更高版本(包括 Python 投标)
  • pyopenssl - 仅当您想抓取安全(HTTPS)页面时
于 2010-10-15T00:01:31.957 回答
2

我刚刚遇到了这个问题,使用的是 Ubuntu 14.04 内核。

我已经使用 pip 安装了 lxml。

当我尝试pip install lxml --upgrade进入 virtualenv 时,它总是给我一个

x86_64-gnu-gcc 退出 1

我使用sudo apt-get install libssl-dev.

于 2016-01-05T00:36:22.960 回答
1

或者,如果您在 Windows 上,正如我从您的问题中所怀疑的那样,您需要获取 libxml2 二进制文件——scrapy 网站上有链接,并且截至 2010 年 11 月,已经编译了一个适用于所有内容的版本—— - 或获取与 lxml2 一起使用的当前主干/开发版本的 scrapy。对于 virtualenv,由于我不确定如何使用额外的二进制文件进行设置,因此后一种方法可能是最好的。我采用了后一种方法,到目前为止它对我来说完美无缺。感谢 Scrapy 的超级有用的创建者 Pablo Hoffman(当我在 Scrapy 的邮件列表上发布了一个与此非常相似的问题时,他几乎在第二天就将这个更改发布到了主干)。注意:当时还没有与 python 2.7 一起工作的 libxml2 二进制文件。

于 2010-11-04T08:55:36.577 回答
0

如果您 使用 apt-get(或其他包管理器)安装了python-libxml2--system-site-packages ,您可以使用标志从 virtualenv 访问它。

创建您的 virtualenv 时,只需指定此标志,例如:

virtualenv --system-site-packages env

这样,您的 virtualenv 将继承系统范围内安装的 libxml2 包。

于 2018-04-04T21:37:06.150 回答