Python 3.x lxml.etree.SerialisationError:使用cabby/libtaxi时IO_编码器错误

Python 3.x lxml.etree.SerialisationError:使用cabby/libtaxi时IO_编码器错误,python-3.x,lxml,Python 3.x,Lxml,我工作的公司有一个生产Taxi服务器(使用Stix1.1.1),它与我们客户的一些客户端Taxi实现不太兼容,所以我正在开发一个测试服务器来解决一些bug。为此,我使用cabby从taxi服务器中提取信息,或者直接从(非TAXII)API中提取STIX/XML文件,并将它们直接插入测试服务器后端。在生产和测试Taxi服务器上使用cabby时,我遇到的一个问题是python lxml库中的错误,这是cabby的一个依赖项(这只是较大堆栈跟踪的底部) 我一直在寻找XML中导致此错误的原因,但没有取得

我工作的公司有一个生产Taxi服务器(使用Stix1.1.1),它与我们客户的一些客户端Taxi实现不太兼容,所以我正在开发一个测试服务器来解决一些bug。为此,我使用cabby从taxi服务器中提取信息,或者直接从(非TAXII)API中提取STIX/XML文件,并将它们直接插入测试服务器后端。在生产和测试Taxi服务器上使用cabby时,我遇到的一个问题是python lxml库中的错误,这是cabby的一个依赖项(这只是较大堆栈跟踪的底部)


我一直在寻找XML中导致此错误的原因,但没有取得太多成功。尝试从XML中过滤出可能令人反感的字符已经取得了部分成功,但我也不确定这是否是导致此问题的原因。有人能很好地解释lxml中到底是什么导致了这个错误吗?我想这与XML格式有关,但是弄清楚是什么样的格式错误导致了这个错误将非常有帮助。

您是否碰巧将您的系统迁移到了一个更新的系统

在我们的例子中,一个旧系统在lxml 4.5中有此错误

将其回滚到2.3解决了错误:

sudo su
pip uninstall lxml
apt-get install libxml2-dev libxslt1-dev
pip install lxml==2.3

很可能是由于lxml 4.4.2中引入了一个lxml错误,请参见

如何重现此错误?什么是“可能令人反感的角色”?我认为您需要向我们展示XML。
sudo su
pip uninstall lxml
apt-get install libxml2-dev libxslt1-dev
pip install lxml==2.3