Find python lxml version

前端 未结 6 1620
Happy的楠姐
Happy的楠姐 2021-02-03 18:32

How can I find the installed python-lxml version in a Linux system?

>>> import lxml
>>> lxml.__version__
Traceback (most recent call last):
  F         


        
相关标签:
6条回答
  • 2021-02-03 18:35

    You can use pip as well:

    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
    
    0 讨论(0)
  • 2021-02-03 18:39
    from lxml import etree
    etree.__version__
    
    0 讨论(0)
  • 2021-02-03 18:40

    I'm surprised that nobody suggested

    pip show lxml

    0 讨论(0)
  • 2021-02-03 18:46

    Here are two more ways to do it, with minimal typing. You could do it with pip from the command line:

    $ pip freeze | grep lxml
    lxml==3.2.5
    

    Since you installed from ubuntu repository with apt-get you can also use 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
    
    0 讨论(0)
  • 2021-02-03 18:50

    You can get the version by looking at etree:

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

    Other versions of interest can be: etree.LIBXML_VERSION, etree.LIBXML_COMPILED_VERSION, etree.LIBXSLT_VERSION and etree.LIBXSLT_COMPILED_VERSION.

    0 讨论(0)
  • 2021-02-03 18:57

    I assume you want to determine lxml's version programatically from Python. Since lxml does not provide this information via way of a typilca __version__ attribute on the top-level package you will have to resort to using setuptools' pkg_resources.require() function:

    >>> 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'
    
    0 讨论(0)
提交回复
热议问题