简述
项目部署时,发现CI自动打包的Docker镜像内代码不全,最终定位原因是由于python打包时未打包新建的代码文件导致。特意整理本文章,整理python打包配置。
基础信息
python标准打包工具为setuptools,可通过setuptools官方文档详细了解该工具。现整理一些常用内容,记录如下:
基本命令
Python官方文档:https://packaging.python.org/tutorials/distributing-packages/
根据 application 包含的代码类型以及其所支持的 python 版本, wheel 格式可细分为三种
- Universal wheel:纯 python 代码,并且支持 python 2 和 3
- Pure python wheel:纯 python 代码,不同时支持 python2 和 3
- Platform wheel:非纯 python 代码
采用如下命令可编译成 universal wheel:
1 | python setup.py bdist_wheel --universal |
采用如下命令可编译成非 universal wheel(即 pure python wheel 或 platform wheel):
1 | python setup.py bdist_wheel |
其它的类型的包:
1 | python setup.py bdist_egg # 生成类似 -0.0.1-py2.7.egg,支持 easy_install |
配置参数
1 | name -> 为项目名称,和顶层目录名称一致; |