简单了解如何封装自己的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代码
Mar 13 Python
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
CentOS 7下安装Python3.6 及遇到的问题小结
Nov 08 Python
手把手教你使用Python创建微信机器人
Apr 29 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
妙用itchat! python实现久坐提醒功能
Nov 25 Python
Python unittest框架操作实例解析
Apr 13 Python
python中threading开启关闭线程操作
May 02 Python
浅析Python 序列化与反序列化
Aug 05 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
pycharm 如何查看某一函数源码的快捷键
May 12 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中使用Oracle数据库(4)
2006/10/09 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
Unicode和Python的中文处理
2017/03/19 Python
django2 快速安装指南分享
2018/01/05 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
如何安装ruby on rails
2014/02/09 面试题
个人自我鉴定写法
2013/11/30 职场文书
海飞丝的广告词
2014/03/20 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
计算机专业自荐信
2014/05/24 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
高一语文教学反思
2016/02/16 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS