如何获得未安装的pip软件包的简短描述?

not2qubit

令我非常失望的是,pip软件包管理器未显示尚未安装的软件包的任何信息。得到任何东西,唯一的办法似乎是用grep与简短描述的输出pip search XXX |grep -i XXX

  • 问:是否有一种简单的方法来获取点子软件包XXX的详细说明?
    (通过命令行,而不必安装它。)

也许使用wget使用curlPyPI的明智方法可行?


编辑:我设法获得了卷曲的单线:

这是Bash一线:

curl -sG -H 'Host: pypi.org' -H 'Accept: application/json' https://pypi.org/pypi/numpy/json | awk -F "description\":\"" '{ print $2 }' |cut -d ',' -f 1

# NumPy is a general-purpose array-processing package designed to...

但是,最好使用其他更健壮的方法。

马蹄铁

PyPI提供了一个API来访问包元数据:

  • 简单:来自的响应https://pypi.org/simple/<pkgname>是一个HTML页面,该页面是下载URL的列表,可以用任何HTML解析器(如beautifulsoup或)进行解析lxml

  • JSON:来自的响应http://pypi.org/pypi/<pkgname>/json是可以使用任何JSON处理工具进行处理的JSON字符串。注释示例requests

    In [1]: import requests

    In [2]: data = requests.get('https://pypi.org/pypi/lxml/json').json()

    In [3]: data['info']['summary']
    Out[3]: 'Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.'

    In [4]: data['info']['description']
    Out[4]: 'lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries.  It\nprovides safe and convenient access to these libraries using the ElementTree\nAPI.\n\nIt extends the ElementTree API significantly to offer support for XPath,\nRelaxNG, XML Schema, XSLT, C14N and much more.\n\nTo contact the project, go to the `project home page\n<http://lxml.de/>`_ or see our bug tracker at\nhttps://launchpad.net/lxml\n\nIn case you want to use the current in-development version of lxml,\nyou can get it from the github repository at\nhttps://github.com/lxml/lxml .  Note that this requires Cython to\nbuild the sources, see the build instructions on the project home\npage.  To the same end, running ``easy_install lxml==dev`` will\ninstall lxml from\nhttps://github.com/lxml/lxml/tarball/master#egg=lxml-dev if you have\nan appropriate version of Cython installed.\n\n\nAfter an official release of a new stable series, bug fixes may become\navailable at\nhttps://github.com/lxml/lxml/tree/lxml-4.2 .\nRunning ``easy_install lxml==4.2bugfix`` will install\nthe unreleased branch state from\nhttps://github.com/lxml/lxml/tarball/lxml-4.2#egg=lxml-4.2bugfix\nas soon as a maintenance branch has been established.  Note that this\nrequires Cython to be installed at an appropriate version for the build.\n\n4.2.5 (2018-09-09)\n==================\n\nBugs fixed\n----------\n\n* Javascript URLs that used URL escaping were not removed by the HTML cleaner.\n  Security problem found by Omar Eissa.\n\n\n\n\n'

命令行替代方法是使用yolk与安装

$ pip install yolk3k

上面的的查询lxml摘要和说明yolk

$ yolk -M lxml -f summary,description
summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
description: lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries.  It
provides safe and convenient access to these libraries using the ElementTree
API.

It extends the ElementTree API significantly to offer support for XPath,
RelaxNG, XML Schema, XSLT, C14N and much more.

...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章