如何为 pypy 构建 pyquery?
How can I build pyquery for pypy?
我正在尝试将 pyquery 与 pypy 一起使用,但它依赖于 lxml2,它不会在 pypy 下构建。我知道有一个 lxml2 构建可以与 pypy 一起使用,但我不知道如何让 pyquery 使用它而不是通常的构建。
只需使用lxml
。 From pyquery package docs:
>>> 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)
更新:
您需要使用 lxml
的 PyPy-friendly 版本。幸运的是,它已经存在并被命名为 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
在你让它工作后,我强烈建议你推动你的叉子并尝试与 this website 的负责人沟通,以在 pyquery
条目中包含指向你的叉子的注释。
Pypy 5.0 和 lxml 3.6 旨在相互配合。
我正在尝试将 pyquery 与 pypy 一起使用,但它依赖于 lxml2,它不会在 pypy 下构建。我知道有一个 lxml2 构建可以与 pypy 一起使用,但我不知道如何让 pyquery 使用它而不是通常的构建。
只需使用lxml
。 From pyquery package docs:
>>> 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)
更新:
您需要使用 lxml
的 PyPy-friendly 版本。幸运的是,它已经存在并被命名为 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
在你让它工作后,我强烈建议你推动你的叉子并尝试与 this website 的负责人沟通,以在 pyquery
条目中包含指向你的叉子的注释。
Pypy 5.0 和 lxml 3.6 旨在相互配合。