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

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
复制代码

执行成功

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我知道了。关于Python打包分发工具setuptools的安装和使用,具体步骤如下: 1. 首先,确保你已经安装了Python3。如果没有安装,可以去Python官网下载并安装。 2. 接着,在命令行中输入以下命令来安装setuptools: ``` pip3 install setuptools ``` 3. 安装完成后,你可以使用以下命令来验证setuptools是否安装成功: ``` python3 -m easy_install --version ``` 如果输出了setuptools的版本号,说明安装成功。 4. 接下来,你可以使用setuptools打包你的Python项目。在你的项目根目录下创建一个名为`setup.py`的文件,内容如下: ``` from setuptools import setup, find_packages setup( name='your-project-name', version='0.1', packages=find_packages(), install_requires=[ 'dependency1', 'dependency2', # ... 其他依赖项 ], entry_points={ 'console_scripts': [ 'your-script-name=your_package_name.module_name:main' ] } ) ``` 其中,`name`是你的项目名称,`version`是你的项目版本号,`packages`是你的项目中包含的所有Python模块,`install_requires`是你的项目依赖的所有Python包,`entry_points`是你的项目可执行文件的入口。 5. 编写完`setup.py`文件后,你可以使用以下命令来构建一个源码分发包: ``` python3 setup.py sdist ``` 6. 构建完成后,你可以使用以下命令来安装你的项目: ``` pip3 install your-project-name-0.1.tar.gz ``` 7. 如果你的项目需要发布到PyPI等Python包管理平台上,可以使用以下命令来上传你的项目: ``` python3 setup.py sdist upload ``` 以上就是使用setuptools进行Python打包分发的基本步骤。希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值