可爱的 Python: 使用 setuptools 孵化 Python egg
2006-12-04 15:28
441 查看
David 在本文中将带领我们了解一下 setuptools 框架,它是 Python Enterprise Application Kit(PEAK)的一个副项目。 setuptools 替换了标准的 distutils 库,并为 Python 添加了版本化的包和依赖性管理。Perl 用户比较熟悉 CPAN,而 Ruby 用户则比较熟悉 Gems;引导 setuptools 的 ez_setup 工具和随之而生的扩展后的 easy_install 与 “Cheeseshop”(Python Package Index,也称为 “PyPI”)一起工作来实现相同的功能。另外,setuptools 还让我们可以将自己的库包装成一个称为 “egg” 的包,它与 Java™ 的 JAR 文件类似,不过是用于 Python 的。
Python Enterprise Application Kit(PEAK)的基础知识在本专栏的前两部分中已经进行了介绍:“可爱的 Python: Python Enterprise Application Kit” 和 “深入 PEAK 的新特性”。简而言之,PEAK 是用来在 Python 中进行快速组件开发和代码重用的强大框架。
本文介绍了 setuptools 框架的内容,它是 PEAK 的一个副项目,它提供了比 distutils 更加简单的包管理和发行功能。
开始
setuptools 模块很会 “规避”。例如,如果我们下载一个使用 setuptools 而不是使用 distutils 构建的包,那么安装就应该可以像我们期望的一样工作:通常使用 python setup.py install 就可以。为了实现这种功能,使用 setuptools 绑定在一起的包就会在归档文件中包含一个很小的引导模块 ez_setup.py。此处惟一需要注意的是 ez_setup.py 试图在后台下载并安装所需要的 setuptools —— 当然,这需要有一个连接网络的机器。如果 setuptools 早已在本地机器上安装了,那么这个后台步骤就不再需要执行;但是如果它需要手工进行安装,那么很多透明性就都丢失了。不过,大部分系统现在都有一个 Internet 连接了;为没有连接网络的机器多执行几个特殊步骤也并非特别麻烦。
setuptools 的真正优点并不在于实现 distutils 所能实现的功能 —— 尽管它 的确 增强了 distutils 的功能并简化了 setup.py 脚本中的内容。setuptools 最大的优势是它在包管理能力方面的增强。它可以使用一种更加透明的方法来查找、下载并安装依赖包;并可以在一个包的多个版本中自由进行切换,这些版本都安装在同一个系统上;也可以声明对某个包的特定版本的需求;还可以只使用一个简单的命令就能更新到某个包的最新版本。给人印象最为深刻的是,即使有些包的开发人员可能还从未考虑过任何 setuptools 兼容性问题,我们依然可以使用这些包。
下面让我们详细探讨一下。
。。。。。。
点击此处查看全文
Python Enterprise Application Kit(PEAK)的基础知识在本专栏的前两部分中已经进行了介绍:“可爱的 Python: Python Enterprise Application Kit” 和 “深入 PEAK 的新特性”。简而言之,PEAK 是用来在 Python 中进行快速组件开发和代码重用的强大框架。
本文介绍了 setuptools 框架的内容,它是 PEAK 的一个副项目,它提供了比 distutils 更加简单的包管理和发行功能。
开始
setuptools 模块很会 “规避”。例如,如果我们下载一个使用 setuptools 而不是使用 distutils 构建的包,那么安装就应该可以像我们期望的一样工作:通常使用 python setup.py install 就可以。为了实现这种功能,使用 setuptools 绑定在一起的包就会在归档文件中包含一个很小的引导模块 ez_setup.py。此处惟一需要注意的是 ez_setup.py 试图在后台下载并安装所需要的 setuptools —— 当然,这需要有一个连接网络的机器。如果 setuptools 早已在本地机器上安装了,那么这个后台步骤就不再需要执行;但是如果它需要手工进行安装,那么很多透明性就都丢失了。不过,大部分系统现在都有一个 Internet 连接了;为没有连接网络的机器多执行几个特殊步骤也并非特别麻烦。
setuptools 的真正优点并不在于实现 distutils 所能实现的功能 —— 尽管它 的确 增强了 distutils 的功能并简化了 setup.py 脚本中的内容。setuptools 最大的优势是它在包管理能力方面的增强。它可以使用一种更加透明的方法来查找、下载并安装依赖包;并可以在一个包的多个版本中自由进行切换,这些版本都安装在同一个系统上;也可以声明对某个包的特定版本的需求;还可以只使用一个简单的命令就能更新到某个包的最新版本。给人印象最为深刻的是,即使有些包的开发人员可能还从未考虑过任何 setuptools 兼容性问题,我们依然可以使用这些包。
下面让我们详细探讨一下。
。。。。。。
点击此处查看全文
相关文章推荐
- 【转】可爱的 Python: 使用 setuptools 孵化 Python egg
- python在windows下使用setuptools安装egg文件
- python在windows下使用setuptools安装egg文件
- python 自动安装工具 setuptools(easy_install) 的使用
- python egg包免安装直接使用
- 使用setuptools自动安装python模块(setuptools)
- [完]Python 安装setuptools,解决使用Matplotlib遇到的问题
- Python制作和使用egg
- 使用setuptools自动安装python模块 [转]
- 可爱的 Python: 使用 mechanize 和 Beautiful Soup 轻松收集 Web 数据
- 使用setuptools自动安装python模块
- Python3使用setuptools
- [转]可爱的 Python:: 使用 itertools 模块中的组合函数
- Python学习笔记-ubuntu安装setuptools及使用
- 使用setuptools自动安装python模块(稍作修改)
- 学习Python:setuptools在Windows上的安装及使用
- 可爱的豆子——使用Beans思想让Python代码更易维护
- 在Python的setuptools框架下生成egg的教程
- linux环境python安装setuptools(使用easy_install)的必要条件
- 使用setuptools自动安装python模块