Python包工具setuptools、wheel、pip的详解

distlib

distlib 是一个库,它实现了与 Python 软件的打包和分发相关的低级功能。它包含packagingPython 包中的部分函数,​​该包旨在作为 Python 3.3 的一部分发布,但在 Python 3.3 进入 beta 测试前不久被删除。

distutils

传统的构建和安装 Python 模块的工具,目前已被setuptools包构建和分发工具和pip包管理工具替代。

setuptools

setuptools是 Python distutils的增强集合,使您可以更轻松地构建和分发 Python 包。支持生成 .exe、.tar.gz、.tar.bz2、.tgz、.zip、.egg、.egg.zip或.wheel 格式文件。

.egg格式

setuptools分发项目的一种二进制格式,目前已被wheel替代。

Easy Install

Easy Install 是一个与setuptools捆绑在一起的 Python 模块 ( easy_install ) ,可以让您自动下载、构建、安装和管理 Python 包。支持源码包和.egg二进制包。Easy Install不是构建打包工具。

.whl格式

旨在替代egg格式的一种二进制包。wheel目前受pip支持。

pip

pip可以安装源码包或wheel包,优先安装兼容的wheel。

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

总结:使用 setuptools 构建和打包源分支 和 wheel,使用 pip 下载、构建、安装、管理包。

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

(7)
上一篇 2020年12月4日 15:47
下一篇 2020年12月4日 20:06

相关推荐

  • Python虚拟隔离环境pyvenv、venv、virtualenv的来龙去脉

    2011年6月13日,PEP 405 — Python Virtual Environments提案建议向 Python 添加一种机制,用于轻量级“虚拟环境”,具有自己的站点目录,可选择与系统站点目录隔离。每个虚拟环境都有自己的 Python 二进制文件(允许使用各种 Python 版本创建环境),并且可以…

    Python经验 2020年11月24日
    01.2K0
  • pip 和pip3 的区别

    具体参考PEP 394 — The “python” Command on Unix-Like Systems 此 PEP 概述了调用“python“命令时 Python 脚本的行为。如果安装了“python“命令,它的目标解释器可能是指向python2版本 或 python3版本。…

    Python经验 2021年8月8日
    04740
  • Python之禅(The Zen of Python)

    Python之禅 最早由 Tim Peters在Python邮件列表中发表,它包含了影响Python编程语言设计的19条软件编写原则。在最初及后来的一些版本中,一共包含20条,其中第20条是“这一条留空(…)请 Guido 来填写”。这留空的一条从未公布也可能并不存在。这些文本…

    Python经验 2020年11月17日
    09320

发表评论

登录后才能评论