简单了解如何封装自己的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脚本
Sep 01 Python
Python使用urllib模块的urlopen超时问题解决方法
Nov 08 Python
Python Tkinter GUI编程入门介绍
Mar 10 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
Django admin美化插件suit使用示例
Dec 12 Python
python如何实现int函数的方法示例
Feb 19 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
python控制nao机器人身体动作实例详解
Apr 29 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
Apr 02 Python
python中Pexpect的工作流程实例讲解
Mar 02 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 查找字符串常用函数介绍
2012/06/07 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
php之curl设置超时实例
2014/11/03 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
python文件读写代码实例
2019/10/21 Python
Python爬取某平台短视频的方法
2021/02/08 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
大学生军训自我鉴定
2014/02/12 职场文书
初中家长寄语
2014/04/02 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
个人党性分析材料
2014/12/19 职场文书
考试作弊检讨书范文
2015/01/27 职场文书