1、概述在学习Python的过程中,安装第三方类库是非常常见的操作,这也是Python得以盛行的重要原因之一。在这个过程中,也许大家会遇到过类似 distutils、setuptools、distribute、pip等词汇,也困惑eggs、wheel究竟是什么? 今天就让我们一起来捋一捋它们的关系。 2、Python包安装过程当我们执行
3、包管理工具路线图在Python包安装过程中,我们得以通过一个pip命令就完成如此复杂的操作,得益于包管理工具。 包管理工具是为了管理,安装和发布Python包而开发的,这些包管理工具的作用就是安装,管理和发布Python包,以及Python的一些项目。 那么Python包管理工具在Python发展的历程中,都经历了哪些呢? 3.1 distutilsdistutils 于2000年发布,当时作为Python标准库的一部分,进行Python模块的安装与发布。 3.2 setuptoolssetuptools 于2004年发布,为增强 distutils (主要体现在对依赖的处理)而开发的集合或项目,包含了 easy_install 工具。 通过 setuptools 可以自动下载、构建、安装和管理Python模块。 3.3 distributedistribute 是 setuptools 的一个分支版本。分支的原因可能是有一部分开发者认为 setuptools 开发太慢了。但现在,distribute 又合并回了 setuptools 中。 3.4 distutils2distutils2 被设计为 distutils 的替代品。从2009年开发到2012年。它包含更多的功能,并希望以packaging 作为名称进入 python 3.3 成为标准库的一部分。但这个计划 后来停滞了 。 3.5 distlibdistlib 是 distutils2 的部分,它为 distutils2/packaging 提供的低级功能增加高级 API,使其便于使用。 3.6 eggseggs格式是setuptools引入的Python软件安装包的一种,使用egg扩展名(本质是一个zip包)。setuptools(easy_install)可以解析eggs并进行安装。
3.7 pippip是目前python包管理的标准,于2008年发布。它被用作 easy_install 的替代品。pip希望不再支持eggs(但仍在支持),而更希望采用“源码发行版”。 3.8 wheelwheel是Python软件安装包格式的一种,使用whl扩展名(本质是一个zip包),也是目前Python官方推荐的Python项目发布格式。相比eggs,wheel有以下优势:
4、小结充分了解了包管理工具,才能让我们有的放矢,把工具用得更好。 |
|
来自: wenxuefeng360 > 《待分类1》