2013-12-16 4 views
31

Как найти установленную версию python-lxml в системе Linux?Найти python lxml version

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

Не могу найти его

+1

Как вы установили lxml? –

+0

с использованием apt-get в Ubuntu 12.04 LTS – Niklas9

+0

Не могли бы вы пояснить в своем вопросе, хотите ли вы получить программу '' lxml'' из Python программно? –

ответ

32

Вы можете получить версию, глядя на 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.

7

Я предполагаю, что вы хотите, чтобы определить версию lxml «s Programatically из 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' 
3

Вы можете использовать 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 
5

Вот еще два способа сделать это с минимальным типизации. Вы можете сделать это с пип из командной строки:

$ pip freeze | grep lxml 
lxml==3.2.5 

Поскольку вы устанавливали из репозитория Ubuntu с apt-get вы можете также использовать 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 
1

Я удивлен, что никто не предложил

pip show lxml

+0

Ha! Красивый. Однако, я думаю, не все используют 'pip' в качестве метода установки. – Niklas9

Смежные вопросы