发布你的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中的tuple元组详细介绍
Feb 02 Python
Python中数字以及算数运算符的相关使用
Oct 12 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
Feb 03 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
对python3标准库httpclient的使用详解
Dec 18 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
Python Subprocess模块原理及实例
Aug 26 Python
QML使用Python的函数过程解析
Sep 26 Python
Django3.0 异步通信初体验(小结)
Dec 04 Python
Python谱减法语音降噪实例
Dec 18 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
python3.5的包存放的具体路径
Aug 16 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
无限级别菜单的实现
2006/10/09 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
php数组转成json格式的方法
2015/03/09 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
python django事务transaction源码分析详解
2017/03/17 Python
python清除函数占用的内存方法
2018/06/25 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
入党介绍人评语
2014/05/06 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
先进基层党组织材料
2014/12/25 职场文书
长城导游词300字
2015/01/30 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书