1.什么是setuptools
简单描述:python脚本必须是一个package包,并且需要有一个setup.py文件,详细见setuptools
2.setuptools安装
使用命令pip或pycharm中安装
pip install setuptools
3.setuptools作用
setuptools有两个作用,具体如下
4.使用setuptools如何打包egg
具体如何打包,详见setup如何打包
4.1 setuptools中的setup函数
字段含义
-
name:包名称
-
version (-V):包版本
-
url:程序的官网地址
-
description:程序的简单描述
-
packages:需要处理的包目录(包含__init__.py的文件夹)
-
py_modules:需要打包的python文件列表
-
data_files:打包时需要打包的数据文件,如图片,配置文件等
-
scripts:安装时需要执行的脚步列表
-
package_dir:告诉setuptools哪些目录下的文件被映射到哪个源码包
-
requires:定义依赖哪些模块
-
entry_points:控制命令的
-
find_packages() 对于简单工程来说,手动增加packages参数很容易,刚刚我们用到了这个函数,它默认在和setup.py同一目录下搜索各个含有 init.py的包
console_scripts
entry_points='''
[console_scripts]
yourscript=yourpackage.scripts.yourscript:cli
''',
1.等号左边为需要生成的脚本名字,并注意console_scripts下面每一行控制一个脚本
2.等号右边为脚本的具体路径
4.2 使用命令生成egg包
python setup.py bdist_egg
下图所示,执行命令后生成三个文件
文件夹下对应的内容
其中dist文件夹下,有一个egg文件:demo-0.1.0-py2.7.egg,其实际是一个zip文件,解压:可以看到一些相关信息
也可以删除相应的文件
5.使用setuptools生成的egg包如何使用
5.1 增加自定义的第三方模块
增加自定义的第三方模块
5.2 安装自定义的第三方模块
安装到
\Python27\Lib\site-packages
目录下,使用python setup.py install
5.3 使用自定义的第三方模块
安装成功后可以当成模块使用
、
备注:其他详细情况请阅读:打包说明
6.setuptools扩展使用
setuptools结合click完成第三方自定义库的安装及命令行方式,详细见setuptools官网
目录结构
yourscript.py
代码如下
setup.py
代码如下
生成的命令行工具如下:
setup.py
代码如下
生成的命令行工具如下: