web-dev-qa-db-fra.com

Trouver python version lxml

Comment puis-je trouver la version python-lxml installée dans un système Linux?

>>> 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']
>>>

Je n'arrive pas à le trouver

41
Niklas9

Vous pouvez obtenir la version en consultant etree:

>>> from lxml import etree
>>> etree.LXML_VERSION
(3, 0, -198, 0)

D'autres versions intéressantes peuvent être: etree.LIBXML_VERSION, etree.LIBXML_COMPILED_VERSION, etree.LIBXSLT_VERSION et etree.LIBXSLT_COMPILED_VERSION.

46
Simeon Visser

Je suppose que vous voulez déterminer la version de lxml par programme à partir de Python. Étant donné que lxml ne fournit pas ces informations via un attribut typilca__version__ Sur le package de niveau supérieur, vous devrez recourir à l'utilisation de setuptools 'pkg_resources.require() fonction:

>>> 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'
10
James Mills

Voici deux autres façons de le faire, avec un minimum de frappe. Vous pouvez le faire avec pip depuis la ligne de commande:

$ pip freeze | grep lxml
lxml==3.2.5

Depuis que vous avez installé à partir du référentiel ubuntu avec apt-get vous pouvez également utiliser 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
9
Aryeh Leib Taurog

Vous pouvez également utiliser 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
4
Alexander Zhukov

Je suis surpris que personne n'ait suggéré

pip show lxml

4
grigy
from lxml import etree
etree.__version__
1
chroming