简单了解如何封装自己的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文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
python正则表达式re模块详细介绍
May 29 Python
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
TensorFlow实现卷积神经网络CNN
Mar 09 Python
numpy中的高维数组转置实例
Apr 17 Python
Pandas 合并多个Dataframe(merge,concat)的方法
Jun 08 Python
Python数据分析matplotlib设置多个子图的间距方法
Aug 03 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
python实现网站微信登录的示例代码
Sep 18 Python
python3 实现调用串口功能
Dec 26 Python
PHP基于phpqrcode类库生成二维码过程解析
May 28 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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
Zend公司全球首推PHP认证
2006/10/09 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
PHP实现活动人选抽奖功能
2017/04/19 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
javascript 计算两个整数的百分比值
2009/12/26 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
2013/11/12 Javascript
js函数调用的方式
2014/05/06 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
详解Angular 4.x 动态创建组件
2017/04/25 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
haskell实现多线程服务器实例代码
2013/11/26 Python
Python虚拟环境项目实例
2017/11/20 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
pytorch打印网络结构的实例
2019/08/19 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
pytorch简介
2020/11/11 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
药品促销活动方案
2014/02/14 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
学生抄袭作业的检讨书
2014/10/02 职场文书
2014年安全工作总结范文
2014/11/13 职场文书