发布你的Python模块详解


Posted in Python onSeptember 15, 2016

我们在学习Python的时候,除了用pip安装一些模块之外,有时候会从网站下载安装包下来安装,我也想要把我自己编写的模块做成这样的安装包,该怎么办,如何发布呢?

大概需要以下四个步骤:

1.首先为模块创建一个文件夹。

举个简单的栗子,你写了一个add.py模块文件,里面有个add方法实现加法。这第一步就需要你创建一个文件夹。并把add.py复制到这个文件夹里,为简单起见,我们把文件夹就命名为add

add
|__add.py

2.然后在新文件夹中创建一个名为“setup.py”的文件。

编辑这个文件,增加下面的代码。这个文件包含有关发布的元数据,如下面的示例,具体的元数据可以与示例中不同:

from distutils.core import setup

setup(
    name    = 'add',
    version   = '1.0.0',
    py_modules = ['add'],
    author   = 'huilan',
    author_email= 'womende218@126.com',
    url     = 'http://www.lalalala.com',
    descriptioin= 'add two numbers',
  )

3.构建一个发布文件。

现在我们有了一个文件夹,其中包含两个文件:模块代码放在add.py中,有关的元数据放在setup.py中。接下来我们就利用Python自带的发布工具制作发布文件。
在add文件夹中打开一个终端,或者cmd命令行cd到add文件夹中,执行以下命令:

python3 setup.py sdist

4.将发布模块安装到你本地Python中。

仍然在刚刚打开的终端中,输入以下命令:

sudo python3 setup.py install

看屏幕上出现了发布信息,确认安装成功,发布即准备好。

最终我们得到的文件夹结构如下:

add
   |__ MANIFEST
   |__ build
   |         |__ lib
   |                |__ add.py
   |__ dist
   |        |__ add-1.0.0.tar.gz
   |__ add.py
   |__ add.pyc
   |__ setup.py

其中:

- MANIFEST这个文件包含发布中的文件列表
- build\lib\add.py与根目录下的add.py都是代码文件
- dist\add-1.0.0.tar.gz是发布包
- add.pyc是编译版本代码
- setup.py存放元数据

 以上就是发布你的Python模块的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

Python 相关文章推荐
Python内置函数bin() oct()等实现进制转换
Dec 30 Python
Python中的Numpy入门教程
Apr 26 Python
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
Python实现多线程抓取妹子图
Aug 08 Python
Python中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
python匿名函数的使用方法解析
Oct 10 Python
深入理解Python 多线程
Jun 16 Python
Python map及filter函数使用方法解析
Aug 06 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
Nov 27 Python
Python运算符+与+=的方法实例
Feb 18 Python
python APScheduler执行定时任务介绍
Apr 19 Python
Python selenium 三种等待方式解读
Sep 15 #Python
玩转python selenium鼠标键盘操作(ActionChains)
Apr 12 #Python
Python selenium文件上传方法汇总
Nov 19 #Python
Python selenium如何设置等待时间
Sep 15 #Python
Python selenium 父子、兄弟、相邻节点定位方式详解
Sep 15 #Python
Python selenium 三种等待方式详解(必会)
Sep 15 #Python
python使用pymysql实现操作mysql
Sep 13 #Python
You might like
PHP PDO函数库详解
2010/04/27 PHP
PHP多进程编程实例
2014/10/15 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
Laravel find in set排序实例
2019/10/09 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
javascript delete 使用示例代码
2010/03/29 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
python正则表达式抓取成语网站
2013/11/20 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python中GeoJson和bokeh-1的使用讲解
2019/01/03 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
写演讲稿要注意的六件事
2014/01/14 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
平安家庭事迹材料
2014/12/20 职场文书
党员公开承诺书2016
2016/03/24 职场文书
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python