二进制分布
一种特定类型的 Built Distribution,其中包含编译的 扩展。
构建后端
一个库,它采用源代码树或源代码分发,并从中构建源代码分发或轮子。 生成由前端委托给后端。 所有后端都提供标准化接口。
构建后端的示例包括 flit 的 flit-core、hatch 的 hatchling、Maturin、meson-Python、scikit-build-core、 和 Setuptools。
构建前端
用户可能运行的工具 它采用任意源树或源分发,并从中构建源分发或轮子。 实际的构建被委托给每个源代码树的构建后端。
构建前端的示例包括 pip 和 build。
内置分销
包含文件的分发格式 以及只需要移动到 目标系统,待安装。Wheel 就是这样一种格式,而 distutil 的 Source Distribution 不是,因为它需要一个构建步骤才能实现 安装。这种格式并不意味着 Python 文件必须是 precompiled (Wheel 故意不包括编译的 Python 文件)。
分销包
一个版本控制的存档文件,其中包含 Python 包、模块和其他资源文件,这些文件是 用于分发发行版。存档文件是什么 最终用户将从 Internet 下载并安装。
分发包通常与单个 单词“package”或“distribution”,但本指南可能会使用扩展的 当需要更清晰地防止与导入包(通常也称为“包”)混淆时,或 另一种发行版(例如 Linux 发行版或 Python 语言分布),通常用单个术语来指代 “分配”。有关差异的细分,请参阅分发包与导入包。
蛋
Setuptools 引入的 Built Distribution 格式, 它正在被 Wheel 取代。有关详细信息,请参阅 Python Eggs 和 Python Eggs 的内部结构
扩展模块
用 Python 实现的低级语言编写的模块: C/C++用于Python,java用于Jython。通常包含在单个 动态加载的预编译文件,例如共享对象 (.so) 文件 对于 Unix 上的 Python 扩展,一个 DLL(给定 .pyd 扩展名) Windows 上的 Python 扩展,或 Jython 的 Java 类文件 扩展。
已知良好的集合 (KGS)
一组指定版本的发行版,与 彼此。通常,将运行一个通过所有测试的测试套件 在将一组特定的包声明为已知良好的包集之前。这 术语通常由框架和工具包使用,这些框架和工具包由 多个单独的分布。
导入包
一个 Python 模块,可以包含其他模块,也可以递归地包含其他模块,其他 包。
导入包通常用单个单词来指代 “包”,但本指南将使用扩展的术语,当更清晰时 需要防止与分发包混淆,该分发包 通常也称为“包”。有关差异的细分,请参阅分发包与导入包。
模块
Python 中代码可重用性的基本单位,存在于以下两个之一 类型:纯模块或扩展模块。
软件包索引
带有 Web 界面的发行版存储库,用于自动发现和使用软件包。
每个项目索引
私有或其他非规范包索引,由 一个特定的项目作为首选或需要的索引 解析该项目的依赖关系。
项目
库、框架、脚本、插件、应用程序或数据集合 或其他资源,或其某种组合,旨在 打包到发行版中。
由于大多数项目使用 PEP 518 、distutils 或 Setuptools 创建发行版,这是目前定义项目的另一种实用方法 是包含 pyproject.toml 的东西,setup.py, 或 setup.cfg 文件。
build-system
Python 项目必须具有唯一名称,这些名称在 PyPI 上注册。然后,每个项目将 包含一个或多个版本,每个版本可能 包含一个或多个发行版。
请注意,有一个很强的约定,即以名称命名项目 导入以运行该项目的包。然而,这 不一定是真的。可以从以下位置安装发行版 项目“foo”,并让它提供一个只能作为 '酒吧'。
纯模块
用 Python 编写并包含在单个文件中的模块(和 可能关联和/或文件)。
.py
.pyc
.pyo
Python 打包机构 (PyPA)
PyPA 是一个工作组,负责维护许多相关的 Python 打包中的项目。他们在 pypa.io 维护一个网站,在 Github 和 Bitbucket 上托管项目,并在 distutils-sig 邮件列表和 Python Discourse 论坛上讨论问题。
Python 包索引 (PyPI)
PyPI 是默认包 Python 社区的索引。它向所有 Python 开发人员开放 使用和分发他们的分配。
pypi.org
pypi.org 是 Python 包索引 (PyPI) 的域名。它取代了旧索引 域名, , 在 2017 年。它由 Warehouse 提供支持。
pypi.python.org
pyproject.toml
与工具无关的项目规范文件。 在 PEP 518 中定义。
释放
项目在特定时间点的快照,表示 按版本标识符。
发布可能需要发布多个发行版。例如,如果 version 一个项目的 1.0 版本已经发布,它可以在两个源代码中可用 分发格式和 Windows 安装程序分发格式。
要求
要成为的包的规范 安装。pip 是 PYPA 推荐的安装程序,允许各种形式的规范 这都可以被视为“要求”。有关详细信息,请参阅 pip 安装参考。
需求说明符
pip 用于从包安装包的格式 索引。有关格式的 EBNF 关系图,请参阅依赖项说明符。 例如,“foo>=1.3”是一个 需求说明符,其中“foo”是项目名称,“>=1.3” part 是版本说明符
要求文件
包含需求列表的文件,这些需求可以 使用 pip 安装。有关详细信息,请参阅有关需求文件的 pip 文档。
setup.py
setup.cfg
distutils 和 Setuptools 的项目规范文件。 另请参阅 pyproject.toml。
源存档
包含先前版本的原始源代码的存档 创建源代码分发或构建分发。
Source Distribution(或“sdist”)
分发格式(通常生成 使用 ) 提供元数据和 通过 pip 等工具安装所需的基本源文件, 或用于生成构建的发行版。
python -m build --sdist
系统套件
以操作系统本机格式提供的软件包, 例如,RPM 或 DPKG 文件。
版本说明符
需求说明符的版本组件。例如 “foo>=1.3”的“>=1.3”部分。阅读 Version 说明符规范,了解 Python 打包当前支持的说明符。对此的支持 规范在 Setuptools v8.0 和 pip v6.0 中实现。
虚拟环境
一个独立的 Python 环境,允许为 由特定应用程序使用,而不是被安装的系统使用 宽。有关更多信息,请参阅有关创建虚拟环境的部分。
轮子
由官方标准规范引入的 Built Distribution 格式, 旨在取代 Egg 格式。Wheel 当前是 由 pip 支持。
工作集
可用的发行版集合 用于导入。这些是变量上的
分布。最多一个 Distribution for a 项目可以在工作集中进行。
文章声明:以上内容(如有图片或视频在内)除非注明,否则均为腾龙猫勺儿原创文章,转载或复制请以超链接形式并注明出处。
本文作者:猫勺本文链接:https://www.jo6.cn/post/54.html