chapter10.4、打包分发
包管理
python的模块或者源文件可以直接复制到目标项目目录中,就可以导入使用了。
目的是为了复用
Pypi(Python Package Index),公共的模块储存中心,https://pypi.org
主要工具有:
distutils
官方库,使用安装脚本setup.py来构建,安装包
2000年已停止开发
setuptools
替代distutils的增强版工具集,包含easy_install.py文件,使用ez_setup.py文件,支持egg格式来构建和安装。
是包管理的核心模块
pip
目前是包管理的事实标准
构建在setuptools之上,从Python3.4开始直接包含在安装文件中
wheel
wheel格式定义在PEP427中
wheel文件中不包含.pyc文件
提供bdist_wheel 作为setuptools 的扩展命令,可以生成新打包格式wheel。
pip从1.4版本开始提供wheel子命令来安装wheel包,需要先安装wheel模块
它可以让Python库以二进制的形式安装,而不需要本地编译。
from distutils.core import setup setup(name='Distutils', version='1.0', description='Python Distribution Utilities', author='Greg Ward', author_email='gward@python.net', url='https://www.python.org/sigs/distutils-sig/', packages=['distutils', 'distutils.command'], ) #name 名字 #version 版本 #packages=[] 打包列表 #description 描述信息 #author 作者 #url 包的主页,可以不写 #author_email 作者邮箱
打包列表时,指定目录,就会把目录下的所有非目录子模块打包,