注意: 虽然 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.)