注意: 虽然 JavaScript 对于本网站不是必需的,但您与内容的交互将受到限制。请启用 JavaScript 以获得完整体验。

目录要求

目录要求

查找和安装软件包需要几个步骤

  1. 发现:哪个模块能满足我的需求?
  2. 下载:我可以在哪里获取副本?
  3. 安全:这实际上是来自软件包作者的,而不是特洛伊木马吗?
  4. 安装:我如何编译软件包、安装它并进行设置?
  5. 更新:软件包的最新版本是什么?我是否需要为我的系统获取更新版本?

Distutils SIG 专注于最困难和最复杂的步骤,即第 4 步,因此 Catalog SIG 实际上不必关心这个问题。

来自第 1 步的要求

1.1) 用户可以浏览可用软件包的列表、浏览类似 Parnassus 的层次结构,或进行关键字搜索。

1.2) 软件包也按作者和日期索引,因此您可以查看 Moshe 的所有软件包,或最近更改的 10 个软件包。

1.3) 对于每位作者,都会存储其姓名、电子邮件和主页 URL。

1.4) 关于软件包的信息仅从软件包的 setup.py 文件中包含的元数据中提取。这确保了信息是最新的,节省了用户输入数据的工作量,并鼓励人们使用 Distutils。

来自第 2 步的要求

2.1) 给定一个软件包名称,软件可以检索该软件包的一个或多个下载 URL。

2.2) 为了防止灾难,目录应该保留代码的副本,而不仅仅是指向远程站点。

2.3) 应该可以使用传统的 FTP 或 HTTP 镜像脚本轻松镜像目录。

来自第 3 步的要求

3.1) 用户可以使用 GnuPG 等外部工具检查下载的软件包上的签名。

3.2) 检查签名是可选的,如果外部工具不可用,则可以跳过。(我们可以使用 Python 代码实现我们自己的签名方案,但这是一个坏主意;安全很难,而且很少有人会费心生成仅用于分发 Python 模块的密钥。)

相关要求:Distutils sdist 和 bdist_* 命令应具有 --sign 开关,以签署生成的 .tgz、.rpm 或任何文件。

来自第 4 步的要求

来自第 5 步的要求

此页面未涵盖。这包括检查更新版本、跟踪 Python 软件包之间以及 Python 软件包和系统库之间的依赖关系。这些似乎是需要系统上安装的 Python 软件包数据库的难题。

Information about a package
===========================
Name
Version
Supported Platforms
Description
Keywords
Homepage URL
Author IDs
License
Download link
Date of release

Left out for now:
Dependency information 

Information about an author
===========================
Name
Home page
GnuPG/PGP key (both the actual key, and just the ID)
E-mail address (used as ID?)
E-mail address public: y/n

Information about a document
============================
Name
Author
Description
URL of HTML version
URL of printable version
URL and format of downloadable version
  (Any of these URLs can be omitted if not applicable.)