1

我正在尝试在 Python 3.8.3 上使用 pyquery,但由于以下原因而失败:

>>> import pyquery
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/lib/python3.8/site-packages/pyquery/__init__.py", line 7, in <module>
    from .pyquery import PyQuery  # NOQA
  File "/opt/lib/python3.8/site-packages/pyquery/pyquery.py", line 11, in <module>
    from lxml import etree
ImportError: /opt/lib/python3.8/site-packages/lxml/etree.cpython-38.so: undefined symbol: xsltGetProfileInformation

操作系统是 CoreELEC,所以没有“apt-get”,只有 OpenWRT 中的“opkg install”。

尝试重新安装 lxml 和 pyquery,但没有成功。问题在哪里?

4

2 回答 2

0

最终想通了。系统只有“opkg install”安装包的方式。 python3-lxml软件包已经安装,连同libxml2. 我还必须安装libxslt它才能工作。所以最终的步骤是:

opkg install python3-lxml
opkg install libxml2
opkg install libxslt

现在我可以导入 pyquery(它使用来自 lxml 的 etree)。

于 2020-08-22T12:35:42.767 回答
0

OpenWrt 19.x.x我在python 3.7上遇到了同样的错误。但在以前的版本中,一切正常。所以我只是强制删除libxml2libxslt库并从以前的分支重新安装它们。

于 2021-01-04T17:52:12.100 回答