読者です 読者をやめる 読者になる 読者になる

lxmlのlibxml2バージョンを確認する

Python XML

にしおさん(id:nishiohirokazu)がlingrでlxmlをDISっていた*1ので一言。


lxmlは、Pyrexを使ってlibxml2をラップしElementTree(xml.etree)のインターフェースを実装したモジュールなので、XML/HTMLの解析の挙動はlibxml2のバージョンによって変わります。


ビルド済みのlxmlのlibxml2バージョンを確認するには、lxml.etree.LIBXML_VERSIONを見るのが手っ取り早いです。
手元の環境(Mac)で確認すると以下のようになりました。

>>> from lxml import etree
>>> etree.LIBXML_VERSION
(2, 6, 16)


WIndows版のlxml(1.3.6)で確認すると以下のように、libxml2-2.6.28を使ってビルドされていることが分かります。

>>> from lxml import etree
>>> etree.LIBXML_VERSION
(2, 6, 28)

*1:静的な意味で