简单了解如何封装自己的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实现文件大小输出
Jan 11 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
Python实现的用户登录系统功能示例
Feb 05 Python
TensorFlow saver指定变量的存取
Mar 10 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
celery4+django2定时任务的实现代码
Dec 23 Python
Python求解正态分布置信区间教程
Nov 20 Python
python使用rsa非对称加密过程解析
Dec 28 Python
Python数据可视化图实现过程详解
Jun 12 Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 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
使PHP自定义函数返回多个值
2006/11/26 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
yii2实现 "上一篇,下一篇" 功能的代码实例
2017/02/04 PHP
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
使用jquery解析XML示例代码
2014/09/05 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
python类和继承用法实例
2015/07/07 Python
详解Python爬虫的基本写法
2016/01/08 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
单位单身证明范本
2014/01/11 职场文书
临床医师个人自我评价
2014/04/06 职场文书
安全生产月演讲稿
2014/05/09 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
项目经理岗位职责
2015/01/31 职场文书
2015年消防工作总结
2015/04/24 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
MongoDB支持的索引类型
2022/04/11 MongoDB
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis