简单了解如何封装自己的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 相关文章推荐
动态创建类实例代码
Oct 07 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
python实现爬取千万淘宝商品的方法
Jun 30 Python
Python变量作用范围实例分析
Jul 07 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
详解python如何在django中为用户模型添加自定义权限
Oct 15 Python
想学python 这5本书籍你必看!
Dec 11 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
Python web如何在IIS发布应用过程解析
May 27 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
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
浅谈php7的重大新特性
2015/10/23 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
vue的状态管理模式vuex
2017/11/30 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
python计算时间差的方法
2015/05/20 Python
如何基于Python实现数字类型转换
2020/02/07 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
协议书的格式
2014/04/23 职场文书
员工安全生产责任书
2014/07/22 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
财务稽核岗位职责
2015/04/13 职场文书
春晚观后感
2015/06/11 职场文书
找规律教学反思
2016/02/23 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书