术语表

二元分布

一种特殊的 Built Distribution 包含已编译扩展名的。

已建配电

A Distribution 包含只需移动到目标系统上要安装的正确位置的文件和元数据的格式。 Wheel 是这样的格式,而distutil的 Source Distribution 不是,因为它需要一个生成步骤才能安装。这种格式并不意味着必须预编译python文件 (Wheel 故意不包括编译后的python文件)。

分发包

包含python的版本化存档文件 packagesmodules 以及用于分发 Release . 存档文件是最终用户将从Internet下载并安装的文件。

分发包通常用单个词“package”或“distribution”来指代,但当需要更清楚地说明以避免与 Import Package (也通常称为“包”)或其他类型的分发(例如Linux分发版或Python语言分发版),通常使用单个术语“分发”。

鸡蛋

A Built Distribution 格式由引入 setuptools ,替换为 Wheel . 有关详细信息,请参阅 The Internal Structure of Python EggsPython Eggs

扩展模块

A module 用Python实现的低级语言编写的:用于Python的C/C++,用于Java的Java。通常包含在一个可动态加载的预编译文件中,例如在UNIX上的Python扩展的共享对象(.so)文件,一个用于Windows上Python扩展的DLL(给定.pyd扩展),或者是Jython扩展的Java类文件。

已知良好组(kgs)

在指定版本上相互兼容的一组分发版。通常,将运行一个测试套件,该套件在一组特定的包声明为已知良好的包之前通过所有测试。这个术语通常由多个单独的发行版组成的框架和工具包使用。

导入包

一种python模块,可以包含其它模块,也可以递归地包含其它包。

导入包更常用于单个单词“package”,但当需要更清楚地说明以避免与 Distribution Package 也被称为“包裹”。

模块

python中代码可重用性的基本单位,存在于两种类型中的一种: Pure ModuleExtension Module .

包索引

发行版的存储库,具有自动化的Web界面 package 发现和消费。

按项目索引

私人或其他非规范 Package Index 由特定的 Project 作为解决该项目依赖关系的首选或必需索引。

项目

数据或其他资源的库、框架、脚本、插件、应用程序或集合,或它们的某些组合,旨在打包成 Distribution .

因为大多数项目 Distributions 使用 distutilssetuptools ,当前定义项目的另一种实用方法是 setup.py 在project src目录的根目录下,其中“setup.py”是由 distutilssetuptools .

python项目必须具有唯一的名称,该名称在上注册 PyPI . 然后每个项目将包含一个或多个 Releases ,每个版本可以包含一个或多个 distributions .

请注意,在导入以运行该项目的包的名称之后命名项目有一个强约定。然而,这并不一定是真的。可以从项目“foo”安装分发版,并让它提供只能作为“bar”导入的包。

纯模块

A module 用python编写并包含在单个.py文件中(以及可能关联的.pyc和/或.pyo文件)。

python包装机构(pypa)

Pypa是一个工作组,在Python打包中维护许多相关项目。他们在https://www.pypa.io上维护一个站点,在 githubbitbucket 并讨论 pypa-dev mailing list .

python包索引(pypi)

PyPI 是默认值 Package Index 对于python社区。所有的Python开发人员都可以使用和分发他们的发行版。

pypi.org

pypi.org 是的域名 Python Package Index (PyPI) . 它取代了原有的索引域名, pypi.python.org ,2017年。它由 Warehouse .

释放

的快照 Project 在特定的时间点,由版本标识符表示。

发布可能需要发布多个 Distributions . 例如,如果发布了项目的1.0版本,那么它可以同时以源分发格式和Windows Installer分发格式提供。

要求

A规范 package 待安装。 pip , the PYPA 推荐的安装程序,允许各种形式的规范都被视为“要求”。有关详细信息,请参阅 pip install 参考文献。

需求说明符

使用的格式 pip 从安装包 Package Index . 有关格式的EBNF图,请参见 pkg_resources.Requirement 进入 setuptools 博士学位。例如,“foo>=1.3”是一个需求说明符,其中“foo”是项目名称,“>=1.3”部分是 Version Specifier

需求文件

包含以下列表的文件 Requirements 可以使用 pip . 有关详细信息,请参阅 pip 文档打开 Requirements Files .

setup.py

项目规范文件 distutilssetuptools .

源存档

包含原始源代码的存档 Release ,在创建 Source DistributionBuilt Distribution .

源分布(或“sdist”)

A distribution 格式(通常使用 python setup.py sdist )它提供元数据和安装所需的基本源文件,如 pip 或用于生成 Built Distribution .

系统包

以操作系统本身的格式提供的一种包,例如一个RPM或DPKG文件。

版本说明符

的版本组件 Requirement Specifier . 例如,“foo>=1.3”的“>=1.3”部分。 PEP 440 包含一个 full specification python packaging当前支持的说明符。对PEP440的支持于 setuptools V8.0和 pip V6.0。

虚拟环境

一个独立的python环境,允许安装包供特定应用程序使用,而不是在系统范围内安装。有关详细信息,请参见 创建虚拟环境 .

车轮

A Built Distribution 格式由引入 PEP 427 ,旨在取代 Egg 格式。车轮目前由 pip .

工作集

收藏 distributions 可供导入。这些是 sys.path 变量。最多一个 Distribution 对于一个项目,在一个工作集中是可能的。