Python打包分发工具setuptools(超详细介绍!)

本文详细介绍了Python的打包分发工具setuptools,包括setuptools的用途、安装与使用方法,如创建source distribution和built distribution,特别是wheel包的制作与安装。此外,还讲解了如何使用twine上传Wheel到PyPI,以及setup()参数的配置,如version、packages、dependencies等,助力Python项目的发布与管理。
摘要由CSDN通过智能技术生成

setuptools

Python打包分发工具setuptools:曾经 Python 的分发工具是 distutils,但它无法定义包之间的依赖关系。setuptools 则是它的增强版,能帮助我们更好的创建和分发 Python 包,尤其是具有复杂依赖关系的包。其通过添加一个基本的依赖系统以及许多相关功能,弥补了该缺陷。他还提供了自动包查询程序,用来自动获取包之间的依赖关系,并完成这些包的安装,大大降低了安装各种包的难度,使之更加方便,将程序打包以后可以可以安装到自己的虚拟环境中,也可以上传到PyPI,这样非常方便大项目开发

setuptools使用

pip 安装:

$ pip install setuptools
复制代码

第一个安装文件 在目录 learn_setup 下新建安装文件 setup.py,然后创建包 myapp 模拟要打包源码包:

├── myapp
│ └── __init__.py
└── setup.py
复制代码

setup.py 文件内容如下:

from setuptools import setup

setup(
    name='firstApp001', # 应用名
    version='0.0.1', # 版本号
    packages=['myapp'], # 包括在安装包内的 Python 包
)
复制代码

使用安装文件创建 wheel 有了上面的 setup.py 文件,我们就可以打出各种安装包,主要分为两类:sdist 和 bdist。 Source distribution 使用 sdist 可以打包成 source distribution,支持的压缩格式有:

1.png

 

 

使用方式为:

$ python setup.py sdist --formats=gztar,zip
复制代码

目录下便会多出 dist 和 *.egg-info 目录,dist 内保存了我们打好的包,上面命令使用 --formats 指定了打出 .tar.gz 和 .zip 包,如果不指定则如上表根据具体平台默认格式打包。 包的名称为 setup.py 中定义的 name, version以及指定的包格式,格式如:firstApp01-0.0.1.tar.gz。

Built distribution 使用 bdist 可以打出 built distribution,和源码包相比,由于预先构建好,所以安装更快:

2.png

 

 

使用上,和 sdist 一样,可以使用 --formats 指定包格式。如:

$ python setup.py bdist --formats=rpm
复制代码

同时为了简化操作,setuptools 提供了如下命令:

3.png

 

 

所以上面打 rpm 包可以使用:

$ python setup.py bdist_rpm
复制代码

Wheel Wheel 也是一种 built 包,而且是官方推荐的打包方式。也许你曾经遇见或使用过 egg 包,但现在 wheel 是官方推荐的打包方式 使用 wheel 打包,首先要安装 wheel:

$ pip install wheel
复制代码

然后使用 bdist_wheel 打包:

$ python setup.py bdist_wheel
复制代码

执行成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值