简单了解如何封装自己的Python包


Posted in Python onJuly 08, 2020

将自己的程序打包为whl/tar.gz文件

有时候自己写了一个开发基本类,我们把这个类打包为whl或者tar.gz文件,这样的话同事也可以使用自己开发的基本类了

安装setuptools

pip install setuptools

编写setup.py及__init__.py文件(init.py内容可以为空)

注意目录结构

packages/
 __init__.py
 自己的文件.py
setup.py
Readme.txt

setup.py文件内容

from setuptools import setup
setup(name='dingding-py',
   version='0.0.2',
   description='this is a dingdingbot packages',
   author='Jruing',
   author_email='1099301992@qq.com',
   packages=['Qingolddriver']

   )

除了上面示例中的几个参数以外还有其他的

  • name : 打包后包的文件名
  • version : 版本号
  • author : 作者
  • author_email : 作者的邮箱
  • py_modules : 要打包的.py文件
  • packages: 打包的python文件夹
  • include_package_data : 项目里会有一些非py文件,比如html和js等,这时候就要靠include_package_data 和 package_data 来指定了。package_data:一般写成{‘your_package_name': [“files”]}, include_package_data还没完,还需要修改MANIFEST.in文件.MANIFEST.in文件的语法为: include xxx/xxx/xxx/.ini/(所有以.ini结尾的文件,也可以直接指定文件名)
  • license : 支持的开源协议
  • description : 对项目简短的一个形容
  • ext_modules : 是一个包含Extension实例的列表,Extension的定义也有一些参数。
  • ext_package : 定义extension的相对路径
  • requires : 定义依赖哪些模块
  • provides : 定义可以为哪些模块提供依赖
  • data_files :指定其他的一些文件(如配置文件),规定了哪些文件被安装到哪些目录中。如果目录名是相对路径,则是相对于sys.prefix或sys.exec_prefix的路径。如果没有提供模板,会被添加到MANIFEST文件中。

打包

进入到setup.py所在目录执行以下命令

python setup.py bdist_wheel #打包为whl文件
python setup.py sdist #打包为tar.gz文件

打包后在dist目录下就可以找到打包后的文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 第一步 hello world
Sep 25 Python
Python 文件管理实例详解
Nov 10 Python
Python解惑之True和False详解
Apr 24 Python
Python生成随机密码的方法
Jun 16 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
浅析python的Lambda表达式
Feb 27 Python
对Django项目中的ORM映射与模糊查询的使用详解
Jul 18 Python
python实现处理mysql结果输出方式
Apr 09 Python
python编写实现抽奖器
Sep 10 Python
python使用re模块爬取豆瓣Top250电影
Oct 20 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
Mar 03 Python
OpenCV实现常见的四种图像几何变换
Apr 01 Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 #Python
基于python实现可视化生成二维码工具
Jul 08 #Python
如何使用Cython对python代码进行加密
Jul 08 #Python
python中的错误如何查看
Jul 08 #Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 #Python
利用keras使用神经网络预测销量操作
Jul 07 #Python
Python Mock模块原理及使用方法详解
Jul 07 #Python
You might like
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
使用SVG基本操作API的实例讲解
2017/09/14 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python如何为图片添加水印
2016/11/25 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
python获取本机所有IP地址的方法
2018/12/26 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
教育课题研究自我鉴定范文
2013/12/28 职场文书
追悼会上的答谢词
2014/01/10 职场文书
女子职高个人自荐书
2014/02/01 职场文书
奥巴马竞选演讲稿
2014/05/15 职场文书
供用电专业求职信
2014/07/07 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
看上去很美观后感
2015/06/10 职场文书
2016年教师新年寄语
2015/08/18 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python