简单了解如何封装自己的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中使用smtplib和email模块发送邮件实例
Apr 22 Python
实例讲解python函数式编程
Jun 09 Python
Python 编码Basic Auth使用方法简单实例
May 25 Python
PyQt5每天必学之事件与信号
Apr 20 Python
Python装饰器用法实例总结
May 26 Python
基于python实现KNN分类算法
Apr 23 Python
使用python PIL库实现简单验证码的去噪方法步骤
May 10 Python
Python环境Pillow( PIL )图像处理工具使用解析
Sep 12 Python
python+Selenium自动化测试——输入,点击操作
Mar 06 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
Pycharm 如何一键加引号的方法步骤
Feb 05 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
我的论坛源代码(二)
2006/10/09 PHP
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
JavaScript 中的 this 简单规则
2017/09/19 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
Python面向对象程序设计示例小结
2019/01/30 Python
python字符串循环左移
2019/03/08 Python
python二进制文件的转译详解
2019/07/03 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Python Subprocess模块原理及实例
2019/08/26 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
2014年健康教育实施方案
2014/02/17 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
高三英语教学计划
2015/01/23 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers