parser - python lxml objectify
Encuentra la versiĆ³n de python lxml (6)
¿Cómo puedo encontrar la versión de python-lxml instalada en un sistema 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'']
>>>
Parece que no puede encontrarlo
Aquí hay dos formas más de hacerlo, con una escritura mínima. Podrías hacerlo con pip desde la línea de comando:
$ pip freeze | grep lxml
lxml==3.2.5
Desde que instaló desde el repositorio de ubuntu con apt-get
, también puede usar 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
Me sorprende que nadie sugiriera
pip show lxml
Puede obtener la versión mirando etree
:
>>> from lxml import etree
>>> etree.LXML_VERSION
(3, 0, -198, 0)
Otras versiones de interés pueden ser: etree.LIBXML_VERSION
, etree.LIBXML_COMPILED_VERSION
, etree.LIBXSLT_VERSION
y etree.LIBXSLT_COMPILED_VERSION
.
Puedes usar pip
también:
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
Supongo que quiere determinar la versión de lxml
programáticamente desde Python. Como lxml
no proporciona esta información a través de un atributo typilca __version__
en el paquete de nivel superior, deberá recurrir a la función 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''
from lxml import etree
etree.__version__