1

我正在尝试将 pyquery 与 pypy 一起使用,但这取决于 lxml2,它不会在 pypy 下构建。我知道有一个用于 pypy 的 lxml2 构建,但我不知道如何让 pyquery 使用它而不是通常的构建。

4

2 回答 2

1

只需使用lxml. 来自 pyquery 包文档

>>> from pyquery import PyQuery as pq
>>> from lxml import etree
>>> import urllib
>>> d = pq("<html></html>")
>>> d = pq(etree.fromstring("<html></html>"))
>>> d = pq(url=your_url)
>>> d = pq(url=your_url,
...        opener=lambda url, **kw: urlopen(url).read())
>>> d = pq(filename=path_to_html_file)

更新:

您需要使用 PyPy 友好版本的lxml. 幸运的是,它已经存在并被命名为lxml-cffi. 要在您的 pyquery 构建中使用它,首先您应该创建自己的项目分支:https ://github.com/gawel/pyquery 。

然后,编辑setup.py以添加以下参数来setup(...)调用:

    dependency_links=[
        'git+https://github.com/amauryfa/lxml@cffi'
    ]

最后,安装你的包:

pip install git+https://github.com/YOUR_GITHUB_HANDLE/pyquery.git

在你让它工作之后,我强烈建议你推你的叉子,并尝试与这个网站的负责人沟通,在pyquery条目中包含一个指向你的叉子的注释。

于 2016-01-10T00:27:03.073 回答
1

Pypy 5.0 和 lxml 3.6 旨在相互配合。

于 2016-03-23T20:51:11.807 回答