术语表¶
- 二进制分发¶
一种特定的 构建分发,它包含编译的扩展。
- 构建分发¶
一个 分发 格式包含只需要移动到目标系统上正确位置的文件和元数据,即可安装。Wheel 是这样一种格式,而 distutil 的 源分发 不是,因为它需要一个构建步骤才能安装。这种格式并不意味着必须预编译 Python 文件(Wheel 故意不包括编译的 Python 文件)。
- 分发包¶
一个版本化的存档文件包含 Python 包、模块 和其他用于分发 发行版 的资源文件的版本化存档文件。存档文件是最终用户将从 Internet 下载并安装的文件。
分发包更常被称为“包”或“套件”,但是当需要更清楚地防止与 导入包 混淆时,本指南可能会使用扩展术语(通常也称为“包”)或另一种发行版(例如 Linux 发行版或 Python 语言发行版),通常用单个术语 “发行版” 来指代。
- Egg¶
A Built Distribution format introduced by setuptools, which is being replaced by Wheel. For details, see The Internal Structure of Python Eggs and Python Eggs
- 扩展模块¶
一个用 Python 实现的低级语言编写的 模块。对 Python 来说是 C/C++,对 Jython 来说是 Java。通常包含在一个可动态加载的预编译文件中,例如,Unix 上的 Python 扩展是一个共享对象(.so)文件,Windows 上的 Python 扩展是一个 DLL(给出了 .pyd 扩展),或者 Jython 扩展是一个 Java 类文件。
- 已知良好集(KGS)¶
一组相互兼容的指定版本的发行版。通常,将运行一个测试套件,该套件在一组特定的包被声明为已知良好集之前通过所有测试。 该术语通常用于由多个单独发行版组成的框架和工具包。
- 导入包¶
一个Python模块,可以包含其他模块或递归地包含其他包。
导入包通常用单个词“包”来指代,但本指南将在需要更清楚地说明时使用扩展术语,以防止与通常也称为“包”的 分发包 混淆.
- 模块¶
- 包索引¶
一个带有 Web 界面的发行版存储库,用于自动化 包 发现和消费。
- 每个项目索引¶
A private or other non-canonical Package Index indicated by a specific Project as the index preferred or required to resolve dependencies of that project.
- 项目¶
库、框架、脚本、插件、应用程序或数据或其他资源的集合,或它们的一些组合,旨在被打包成一个 套件
由于大多数项目使用 PEP 518
build-system
、distutils 或 setuptools 来创建 套件,目前另一种实用的项目定义方式是在项目源目录的根部包含一个 pyproject.toml, setup.py, 或 setup.cfg 的东西。Python 项目必须具有独特且唯一的名称,这些名字可以在 PyPI 上注册。然后每个项目将包含一个或多个 发行版 ,每个版本可能包括一个或多个 套件。
Note that there is a strong convention to name a project after the name of the package that is imported to run that project. However, this doesn’t have to hold true. It’s possible to install a distribution from the project ‘foo’ and have it provide a package importable only as ‘bar’.
- 纯模块¶
一个用 Python 编写的 模块,包含在一个
.py
文件中(可能还有相关的.pyc
和/或者.pyo
文件)。- Python 包装管理局 (PyPA)¶
PyPA 是一个工作小组,负责维护 Python 包装中的许多相关项目。他们在 pypa.io, GitHub 和 Bitbucket 上托管项目,并在 distutils-sig 邮件列表 和 Python Discourse 论坛 上讨论问题。
- Python 包索引(PyPI)¶
- pypi.org¶
pypi.org 是 Python Package Index (PyPI) 的域名。它在2017年取代了旧的索引域名,
pypi.python.org
,并由 Warehouse 提供支持。- pyproject.toml¶
The tool-agnostic Project specification file. Defined in PEP 518.
- 发行版¶
A snapshot of a Project at a particular point in time, denoted by a version identifier.
发布一个版本可能需要发布多个 套件。例如,如果一个项目的 1.0 版本被发布,它可能同时具有源码发布格式和 Windows 安装程序发布格式。
- 需求¶
A specification for a package to be installed. pip, the PYPA recommended installer, allows various forms of specification that can all be considered a “requirement”. For more information, see the pip install reference.
- Requirement Specifier¶
A format used by pip to install packages from a Package Index. For an EBNF diagram of the format, see the pkg_resources.Requirement entry in the setuptools docs. For example, “foo>=1.3” is a requirement specifier, where “foo” is the project name, and the “>=1.3” portion is the Version Specifier
- Requirements File¶
A file containing a list of Requirements that can be installed using pip. For more information, see the pip docs on Requirements Files.
- setup.py¶
- setup.cfg¶
The project specification files for distutils and setuptools. See also pyproject.toml.
- Source Archive¶
An archive containing the raw source code for a Release, prior to creation of a Source Distribution or Built Distribution.
- 源分发(或 “sdist”)¶
一个 套件 格式(通常使用
python setup.py sdist
生成),提供元数据和用 pip 等工具安装所需的基本源文件,或生成 构建分发。- 系统包¶
以操作系统本地格式提供的软件包,例如 rpm 或 dpkg 文件。
- 版本说明符¶
The version component of a Requirement Specifier. For example, the “>=1.3” portion of “foo>=1.3”. PEP 440 contains a full specification of the specifiers that Python packaging currently supports. Support for PEP440 was implemented in setuptools v8.0 and pip v6.0.
- 虚拟环境¶
一个隔离的 Python 环境,允许安装软件包以供特定的应用程序使用,而不是在系统中安装。更多信息,请参见 创建和使用虚拟环境 一节。
- Wheel¶
- 工作集¶