项目摘要

在python安装和打包空间中,总结和链接最相关的项目。

Pypa项目

bandersnatch

Mailing list 2 | Issues | Github | PyPI |开发IRC:Bandersnatch

Bandersnatch是一个PYPI镜像客户端,旨在有效地创建PYPI内容的完整镜像。

distlib

Docs | Mailing list 2 | Issues | Bitbucket | PyPI

distlib是一个实现与Python软件的打包和分发相关的低级功能的库。它包含来自 distutils2 计划发布为 packaging 在python 3.3stdlib中,但在python3.3进入beta测试之前不久就被删除了。

打包

Docs | Dev list | Issues | Github | PyPI |用户IRC:Pypa Dev IRC:Pypa Dev

用于python打包的核心实用程序 pipsetuptools .

pip

Docs | User list 1 | Dev list | Issues | Github | PyPI |用户IRC:Pypa Dev IRC:Pypa Dev

用于安装python包的工具。

Pipenv

Docs | Source | Issues | PyPI

Pipenv是一个旨在将所有最好的打包世界带给Python世界的项目。IT线束 Pipfilepipvirtualenv 变成一个单独的工具链。它的终端颜色非常漂亮。

Pipfile

Source

Pipfile 还有它的妹妹 Pipfile.lock 是更高级别的以应用程序为中心的替代方案 pip 的较低级别 requirements.txt 文件。

python打包用户指南

Docs | Mailing list | Issues | Github |用户IRC:Pypa Dev IRC:Pypa Dev

本指南!

setuptools

Docs | User list 2 | Dev list | Issues | GitHub | PyPI |用户IRC:Pypa Dev IRC:Pypa Dev

设置工具(包括 easy_install )是对python distuils的一组增强功能,允许您更轻松地构建和分发python分发版,特别是那些依赖于其他包的分发版。

distribute 是SETUPTOOLS的一个分支,它被合并回SETUPTOOLS(在v0.7中),从而使SETUPTOOLS成为Python打包的主要选择。

twine

Mailing list 2 | Issues | Github | PyPI

Twine是一个与Pypi交互的实用程序,它为 setup.py upload .

virtualenv

Docs | User list | Dev list | Issues | Github | PyPI |用户IRC:Pypa Dev IRC:Pypa Dev

用于创建独立的Python环境的工具。

Warehouse

Docs | Mailing list 2 | Issues | Github |设备IRC:Pypa设备

当前为 Python Package Index (PyPI) . 它在 pypi.org .

wheel

Docs | Mailing list 2 | Issues | Github | PyPI |用户IRC:Pypa Dev IRC:Pypa Dev

车轮项目主要提供 bdist_wheel setuptools 用于创建的扩展 wheel distributions . 此外,它还提供了自己的命令行实用程序来创建和安装轮子。

非Pypa项目

bento

Docs | Mailing list | Issues | Github | PyPI

Bento是一个针对Python软件的打包工具解决方案,目标是替代distuils、setuptools、distribute等。Bento的哲学是再现性、可扩展性和简单性(按顺序)。

buildout

Docs | Mailing list 2 | Issues | PyPI | IRC:扩建

buildout是一个基于python的构建系统,用于从多个部分创建、组装和部署应用程序,其中一些部分可能不是基于python的。它允许您创建一个构建配置,稍后再复制相同的软件。

conda

Docs

Conda是用于 Anaconda python安装。 Python 是一种分布在 Anaconda, Inc 专门针对科学界,尤其是在安装二进制扩展通常很困难的Windows上。

Conda是一个完全独立的PIP、virtualenv和wheel工具,但在包管理、虚拟环境管理和二进制扩展部署方面提供了它们的许多组合功能。

Conda不安装Pypi的软件包,只能从官方的Anaconda存储库或Anaconda.org(用户贡献的地方)安装。 康达 软件包)或本地(如Intranet)软件包服务器。但是,请注意,可以将PIP安装到中,并与Conda并排工作,以管理来自PYPI的分发。

devpi

Docs | Mailing List | Issues | PyPI

devpi具有一个功能强大的与pypi兼容的服务器和pypi代理缓存,以及一个免费的命令行工具,用于驱动python的打包、测试和发布活动。

flit

Docs | Issues | PyPI

flit是在pypi上放置python包和模块的简单方法。flit一次打包一个可导入的模块或包,在pypi上使用导入名称作为名称。包中的所有子包和数据文件都会自动包含在内。flit需要python 3,但是您可以使用它为python 2分发模块,只要它们可以导入python3。

enscons

Source | Issues | PyPI

enscons是一个基于 SCons . 它不使用distuils或setuptools(包括带有C扩展的发行版)构建与PIP兼容的源发行版和轮子。与distuils相比,enscons有不同的架构和哲学。enscons没有向Python打包系统添加构建特性,而是将Python打包添加到通用的构建系统中。enscons帮助您构建可以由pip自动构建的sdist,以及独立于enscons的轮子。

Hashdist

Docs | Github

hashdist是一个用于构建非根软件分发的库。hashdist试图成为“Debian技术不起作用的情况下的Debian选择”。对于pythonistas来说,思考hashdist的最好方法可能是将virtualenv和buildout结合在一起。

pex

Docs | Github | PyPI

PEX既是一个库,也是生成 .pex (python可执行文件)文件,独立的python环境,本着 virtualenv . .pex 文件只是精心构建的zip文件 #!/usr/bin/env python 和特殊的 __main__.py ,并旨在使部署Python应用程序的过程简单到 cp .

pipx

Docs | Github | PyPI

PIPX是一个工具,可以安全地在全局安装和运行python cli应用程序。

scikit-build

Docs | Mailing list | Github | PyPI

SCIKIT构建是一个改进的构建系统生成器,用于Cpththon C/C++/Fortran/Cython扩展,与 setuptoolswheelpip . 内部使用 cmake (在PYPI上可用)为其他编译器、构建系统、交叉编译和定位依赖项及其相关的构建需求提供更好的支持。为了加速和并行化大型项目的构建,用户可以安装 ninja (也可在PYPI上获得)。

shiv

Docs | Github | PyPI

SHIV是一个命令行实用程序,用于构建完全独立的python zippapps,如PEP 441中所述,但包含了它们的所有依赖项。它的主要目标是使分发python应用程序和命令行工具快速而简单。

Spack

Docs | Github | Paper | Slides

一种灵活的包管理器,设计用于支持多种版本、配置、平台和编译器。spack类似于自制,但软件包是用python编写的,并且参数化,以便轻松交换编译器、库版本、构建选项等。任意多个软件包版本可以在同一系统上共存。SPACK是为在集群和超级计算机上快速构建高性能科学应用而设计的。

spack尚不在pypi中,但它不需要安装,可以在从github克隆后立即使用。

标准库项目

ensurepip

Docs | Issues

python标准库中提供引导支持的包 pip 到现有的python安装或虚拟环境中。在大多数情况下,最终用户不会使用这个模块,而是在构建Python发行版的过程中使用它。

distutils

Docs | User list 2 | Issues |用户IRC:Pypa Dev IRC:Pypa Dev

python标准库中支持创建和安装的包 distributions . setuptools 提供对distuils的增强,并且比单独使用distuils更常用。

venv

Docs | Issues

python标准库中用于创建的包(从python 3.3开始) Virtual Environments . 有关详细信息,请参见 创建虚拟环境 .


1

PIP是由与virtualenv相同的开发人员创建的,在早期采用了virtualenv邮件列表,此后它就一直被卡住。

2(1,2,3,4,5,6,7,8)

多个项目将distuils sig邮件列表重用为其用户列表。