Linuxシステムにインストールされているpython-lxmlバージョンを見つけるにはどうすればよいですか?
>>> import lxml
>>> lxml.__version__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute '__version__'
>>> from pprint import pprint
>>> pprint(dir(lxml))
['__builtins__',
'__doc__',
'__file__',
'__name__',
'__package__',
'__path__',
'get_include',
'os']
>>>
見つけられないようです
etree
を見て、バージョンを取得できます。
>>> from lxml import etree
>>> etree.LXML_VERSION
(3, 0, -198, 0)
関心のある他のバージョンは、etree.LIBXML_VERSION
、etree.LIBXML_COMPILED_VERSION
、etree.LIBXSLT_VERSION
およびetree.LIBXSLT_COMPILED_VERSION
です。
lxml
のバージョンをPythonからプログラムで判別したいとします。 lxml
はトップレベルパッケージのtypilca ___version__
_属性を介してこの情報を提供しないため、setuptools
'を使用する必要がありますpkg_resources.require()
関数:
_>>> from pkg_resources import require
>>> match = require("lxml")
>>> match
[lxml 3.3.0beta1 (/home/prologic/lib/python2.7/site-packages)]
>>> lxml = match[0]
>>> lxml.version
'3.3.0beta1'
_
最小限の入力で、これを行うための2つの方法を次に示します。あなたはコマンドラインからpipでそれを行うことができます:
$ pip freeze | grep lxml
lxml==3.2.5
apt-get
を使用してubuntuリポジトリからインストールしたため、dpkgを使用することもできます。
$ dpkg -l python-lxml
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-========================-========================-================================================================
ii python-lxml 2.2.4-1 Pythonic binding for the libxml2 and libxslt libraries
pip
も使用できます。
import pip
lxml_package = [pckg for pckg in pip.get_installed_distributions()
if pckg.project_name == 'lxml'][0] # assuming lxml is installed
print lxml_package.version
誰も提案していないことに驚いています
pip show lxml
from lxml import etree
etree.__version__