简单了解如何封装自己的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使用递归解决全排列数字示例
Feb 11 Python
python获得linux下所有挂载点(mount points)的方法
Apr 29 Python
Python MySQLdb Linux下安装笔记
May 09 Python
python实现K最近邻算法
Jan 29 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
Apr 25 Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
Django后端按照日期查询的方法教程
Feb 28 Python
python 网络编程要点总结
Jun 18 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中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
微信红包随机生成算法php版
2016/07/21 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
python实现自主查询实时天气
2018/06/22 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
Python中os模块功能与用法详解
2020/02/26 Python
如何解决python多种版本冲突问题
2020/10/13 Python
Python Http请求json解析库用法解析
2020/11/28 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
师范生自荐信
2013/10/27 职场文书
高二物理教学反思
2014/02/08 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
建材投资建议书
2014/05/16 职场文书
社区服务活动小结
2014/07/08 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
夏洛特的网观后感
2015/06/15 职场文书
初中班主任教育随笔
2015/08/15 职场文书
Python极值整数的边界探讨分析
2021/09/15 Python