简单了解如何封装自己的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的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
python的paramiko模块实现远程控制和传输示例
Oct 13 Python
Python网络编程详解
Oct 31 Python
Python实现抢购IPhone手机
Feb 07 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
Oct 31 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 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
php生成略缩图代码
2012/07/16 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
微信小程序实现锚点功能
2019/11/20 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Python使用type动态创建类操作示例
2020/02/29 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
Python中的面向接口编程示例详解
2021/01/17 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
秋季运动会广播稿
2014/02/22 职场文书
党日活动总结
2014/05/07 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
走进敬老院活动总结
2014/07/10 职场文书
预备党员转正材料
2014/12/19 职场文书
家电创业计划书
2019/08/05 职场文书
Python基础之条件语句详解
2021/06/16 Python
Vue h函数的使用详解
2022/02/18 Vue.js