未定义的符号:导入 pyquery 时的 xsltGetProfileInformation
undefined symbol: xsltGetProfileInformation while importing pyquery
我正在尝试在 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
OS 是 CoreELEC,所以没有“apt-get”,只有像 OpenWRT 中那样的“opkg install”。
尝试重新安装 lxml 和 pyquery,但没有成功。
问题出在哪里?
终于想通了。
系统只有“opkg install”安装包的方式。
python3-lxml
软件包已与 libxml2
一起安装。
我还必须安装 libxslt
才能正常工作。
所以最终的步骤是:
opkg install python3-lxml
opkg install libxml2
opkg install libxslt
现在我可以导入 pyquery(它使用 lxml 中的 etree)。
我在 OpenWrt 19.x.x
和 python 3.7 上遇到了同样的错误。但在以前的版本中,一切正常。所以我只是强制删除了 libxml2
和 libxslt
库并从以前的分支重新安装它们。
我正在尝试在 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
OS 是 CoreELEC,所以没有“apt-get”,只有像 OpenWRT 中那样的“opkg install”。
尝试重新安装 lxml 和 pyquery,但没有成功。 问题出在哪里?
终于想通了。
系统只有“opkg install”安装包的方式。
python3-lxml
软件包已与 libxml2
一起安装。
我还必须安装 libxslt
才能正常工作。
所以最终的步骤是:
opkg install python3-lxml
opkg install libxml2
opkg install libxslt
现在我可以导入 pyquery(它使用 lxml 中的 etree)。
我在 OpenWrt 19.x.x
和 python 3.7 上遇到了同样的错误。但在以前的版本中,一切正常。所以我只是强制删除了 libxml2
和 libxslt
库并从以前的分支重新安装它们。