简单了解如何封装自己的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读文件逐行处理的示例代码分享
Dec 27 Python
Python中__name__的使用实例
Apr 14 Python
python获取当前用户的主目录路径方法(推荐)
Jan 12 Python
python中requests使用代理proxies方法介绍
Oct 25 Python
Python中装饰器学习总结
Feb 10 Python
Python抽象和自定义类定义与用法示例
Aug 23 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
PyCharm上安装Package的实现(以pandas为例)
Sep 18 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
一个数据采集类
2007/02/14 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
Javascript 模式实例 观察者模式
2009/10/24 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
初试vue-cli使用HBuilderx打包app的坑
2019/07/17 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
python -v 报错问题的解决方法
2020/09/15 Python
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
英国现代市场:ARKET
2019/04/10 全球购物
函数指针的定义是什么
2016/08/14 面试题
Android interview questions
2016/12/25 面试题
学习十八大报告感言
2014/02/28 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
保密协议书范本
2014/04/22 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
门球健将观后感
2015/06/16 职场文书
婚庆主持词大全
2015/06/30 职场文书
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python