【发布时间】:2019-12-06 02:25:59
【问题描述】:
我正在开发一个用于管理 Python 虚拟环境的 GUI。到目前为止,我能够实现我想提供给用户的大部分功能。但我坚持一件事:
在创建虚拟环境时,用户可以根据需要将软件包安装到其中。为此,我想让他们从命令行执行类似pip search <package> 的搜索。结果将显示在表格视图中。我的问题是我不确定获取搜索结果的最佳方式是什么。
我尝试使用内置模块subprocess 并使用pip search 将结果填充到表格中。这是可能的,但它很棘手,因为我必须先格式化输出(包名称、版本、描述)以适合表格。
因为这需要大量嵌套循环和字符串操作,所以我寻找了一种直接访问数据的方法,最好是无需抓取Python Package Index。
编辑:
我考虑过使用 PyPI 的 XML-RPC API,但是有一个说明,它在未来会被弃用,不推荐使用,所以我不确定是否应该在我的项目中使用它。
XML-RPC API 将来会被弃用。不建议使用此 API,该 API 的现有使用者应迁移到 RSS 和/或 JSON API。
强烈建议此 API 的用户订阅 pypi-announce 邮件列表以获取通知,因为我们开始从 PyPI 中删除 XML-RPC。
是否有其他方法可以从 PyPI 中获取搜索结果,或者目前只有 XML-RPC API 吗?
【问题讨论】:
-
@phd 我已经阅读了该内容以及 PyPIJSON wiki,但我正在寻找一种解决方案,可以像
pip在命令行中那样列出搜索结果。 -
@Joey XML-RPC API 是目前唯一可用的。
标签: python python-3.x pip pypi