简单了解如何封装自己的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中正则表达式的用法实例汇总
Aug 18 Python
在Python中使用元类的教程
Apr 28 Python
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
Python模拟百度登录实例详解
Jan 20 Python
Python中单例模式总结
Feb 20 Python
Python 统计字数的思路详解
May 08 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
Python创建数字列表的示例
Nov 28 Python
python 画图 图例自由定义方式
Apr 17 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 Python
pytest进阶教程之fixture函数详解
Mar 29 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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 !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
2011/01/07 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
帝国cms目录结构分享
2015/07/06 PHP
php基本函数汇总
2015/07/09 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
使用javascript插入样式
2016/03/14 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
微信小程序 tabs选项卡效果的实现
2017/01/05 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
vue filters的使用详解
2018/06/11 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
python实现门限回归方式
2020/02/29 Python
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
汽车专业毕业生自荐信
2013/11/03 职场文书
十岁生日父母答谢词
2014/01/18 职场文书
校园安全演讲稿
2014/05/09 职场文书
学生党员公开承诺书
2014/05/28 职场文书
信用卡工资证明格式
2014/09/13 职场文书
自主招生英文自荐信
2015/03/25 职场文书
教导处教学工作总结
2015/08/12 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
Python使用openpyxl批量处理数据
2021/06/23 Python
Python 键盘事件详解
2021/11/11 Python