简单了解如何封装自己的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 06 Python
Python中处理时间的几种方法小结
Apr 09 Python
python中异常报错处理方法汇总
Nov 20 Python
Python编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
Jul 18 Python
python traceback捕获并打印异常的方法
Aug 31 Python
django 中QuerySet特性功能详解
Jul 25 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
Aug 23 Python
Pycharm自动添加文件头注释和函数注释参数的方法
Oct 23 Python
总结python 三种常见的内存泄漏场景
Nov 20 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
May 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的Yii框架中Model模型的学习教程
2016/03/29 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
python指定写入文件时的编码格式方法
2018/06/07 Python
python实现自动解数独小程序
2019/01/21 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
python识别验证码的思路及解决方案
2020/09/13 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
python 如何上传包到pypi
2020/12/24 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
python中spy++的使用超详细教程
2021/01/29 Python
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
匈牙利墨盒和碳粉购买网站:CDRmarket
2018/04/14 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
竞争上岗实施方案
2014/03/21 职场文书
2015年保安个人工作总结
2015/04/02 职场文书
跑吧孩子观后感
2015/06/10 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android