我在同一个程序包中一起使用lxml
和h5py
时遇到了困难。如果它们都已导入,即使它们未导入同一文件,也请始终调用lxml.etree.parse()
段错误。
In [1]: from lxml import etree
In [2]: parser = etree.XMLParser(dtd_validation=True, attribute_defaults=True)
In [3]: etree.parse('foo.xml', parser)
Out[3]: <lxml.etree._ElementTree at 0x1bb9638>
与
In [1]: import h5py
In [2]: from lxml import etree
In [3]: parser = etree.XMLParser(dtd_validation=True, attribute_defaults=True)
In [4]: etree.parse('foo.xml', parser)
Segmentation fault
切换进口顺序似乎并不重要。有关避免这种情况的想法仍在导入两个包裹吗?
编辑:添加一些我之前应该添加的信息。如果在脚本而不是IPython中完成,则会发生同样的事情。