Python打包工具distutils的使用

本篇博客介绍的是使用distutils + setup.py 打包发布自定义的python包。

假设python工程目录结构如下,
在这里插入图片描述
一个比较简单的需求:
在打包时,我们希望

  • 对于一些pkg,全部打包(所有py文件),对于其他pkg,部分打包。
  • 打包pkg里的配置文件
  • 打包不属于任何pkg的模块(单个py脚本)

为了满足上述需求,setup.py 脚本编写如下:

from distutils.core import setup
setup(
package_dir={'':'python'},
packages=['pkg1'],
package_data={'': ['config/1.txt']},
py_modules=['pkg2.p21','test1']
)

为了简单起见,上述setup.py 省略了对待生成包名字/版本等描述。

解释:
1.package_dir描述了setup.py脚本与待打包pkg的路径关系: 是个字典类型,value表示以setup.py为起点的相对路径。
2 packages 是在package_dir指定路径下的python pkg(必须有__init__.py), 可以写多个。
3 package_data 填写准备打包的配置文件。
4 py_modules 填写待打包的单个脚本,比如例子中的pkg2,有时侯并不像把pkg2里的所有脚本都打包,或者有时侯需要打包不属于任何pkg的脚本(比如test1.py),此时用py_modules就比较方便。

打包:

python setup.py bdist (这里有多种参数可选择)

打包结果 :会生成一个build和dist目录。
在这里插入图片描述
本机安装测试
可以用 sudo python setup.py install --record installed.txt 在本机安装验证,
加 --record installed.txt 是为了记录安装路径,方便验证完删除。
安装后,可以去python系统目录下验证是否安装成功。
在这里插入图片描述
开启一个终端,测试安装成功。
在这里插入图片描述

参考
How to writing the setup script :https://docs.python.org/2/distutils/setupscript.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值