理解Python包管理工具

distlib

Distlib是一个库,用于实现与Python软件的打包和分发有关的低级功能。它包含在打包的Python软件包中的部分功能,该软件包原本打算作为Python 3.3的一部分发布,但在Python 3.3进入Beta测试之前不久就被删除了。这个计划目前已停滞。

distutils

由于维护包装系统(其中功能更新与语言运行时更新紧密耦合)带来的挑战,现在不鼓励直接使用distutils,最好使用 setuptools替代。setuptools 不仅提供普通distutils不提供的功能(例如依赖项声明和入口点声明),而且还提供所有受支持的Python版本之间一致的构建接口和功能集。

setuptools

Setuptools是功能齐全,主动维护且稳定的库,旨在方便打包Python项目。

eggs

Setuptools引入的一种内置分发格式,已由Wheel取代。

wheel

一个内置分发格式,旨在替代egg格式。Wheel目前受pip支持。一个用于构建Wheels的setuptools扩展,提供了 bdist_wheel 命令。

pip

Pip可以从Source Distributions(sdist)或Wheels上安装,但是如果PyPI上都存在pip,则pip将更喜欢兼容的wheel。

Wheel是一种预构建的发行格式,与Source Distributions(sdist)相比,提供了更快的安装速度,尤其是在项目包含编译后的扩展名时。

如果pip找不到要安装的轮子,它将在本地构建一个轮子并将其缓存以备将来安装,而不是在将来重新构建源代码分发。

原始的Python打包系统已添加到Python 2.0的标准库中。

twine

Twine是开发人员用来将软件包上传到Python软件包索引或其他Python软件包索引的主要工具。它是一个命令行程序,它将程序文件和元数据传递到Web API。开发人员之所以使用它,是因为它是官方的PyPI上传工具,它既快速又安全,得到维护并且可靠地工作。

总结:

安装:使用 pip 从PyPI安装包。

打包:使用 setuptools 构建和打包源分支,使用setuptools的扩展 bdist_wheel 创建wheels。

上传:使用 twine 上传包到PyPI。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/pythonops/2880.html

发表评论

登录后才能评论