简单了解如何封装自己的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爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
Swift中的协议(protocol)学习教程
Jul 08 Python
Python自定义类的数组排序实现代码
Aug 28 Python
socket + select 完成伪并发操作的实例
Aug 15 Python
通过Python实现自动填写调查问卷
Sep 06 Python
python得到windows自启动列表的方法
Oct 14 Python
python覆盖写入,追加写入的实例
Jun 26 Python
python简单区块链模拟详解
Jul 03 Python
Python使用sklearn库实现的各种分类算法简单应用小结
Jul 04 Python
python中Ansible模块的Playbook的具体使用
May 28 Python
Python实现GIF图倒放
Jul 16 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 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 ftp文件上传函数(基础版)
2010/06/03 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
php中动态变量用法实例
2015/06/10 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
php函数式编程简单示例
2019/08/08 PHP
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
整理Python中的赋值运算符
2015/05/13 Python
Python实现随机漫步功能
2018/07/09 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Python内存映射文件读写方式
2020/04/24 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
数据库面试要点基本概念
2013/10/31 面试题
大学生应聘推荐信范文
2013/11/19 职场文书
初中生物教学反思
2014/01/10 职场文书
大学毕业感言一句话
2014/02/06 职场文书
廉洁使者实施方案
2014/03/29 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis