发布你的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 运算符 供重载参考
Jun 11 Python
在Python中使用列表生成式的教程
Apr 27 Python
python实现的简单文本类游戏实例
Apr 28 Python
Python中线程编程之threading模块的使用详解
Jun 23 Python
在Django的视图中使用数据库查询的方法
Jul 16 Python
带你了解python装饰器
Jun 15 Python
python爬虫_实现校园网自动重连脚本的教程
Apr 22 Python
Python读取txt内容写入xls格式excel中的方法
Oct 11 Python
python实现IOU计算案例
Apr 12 Python
Pycharm如何导入python文件及解决报错问题
May 10 Python
通过实例解析Python文件操作实现步骤
Sep 21 Python
Pandas的数据过滤实现
Jan 15 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
网站加速 PHP 缓冲的免费实现方法
2006/10/09 PHP
PHP新手上路(四)
2006/10/09 PHP
jquery 滚动条事件简单实例
2013/07/12 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
python基础教程之获取本机ip数据包示例
2014/02/10 Python
python 中split 和 strip的实例详解
2017/07/12 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
python 实现逻辑回归
2020/12/30 Python
护理专业本科生自荐信
2013/10/01 职场文书
HR喜欢的自荐信格式
2013/10/08 职场文书
求职推荐信
2013/10/28 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
六年级学生期末评语
2014/12/26 职场文书
售票员岗位职责
2015/02/15 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
pytorch Dropout过拟合的操作
2021/05/27 Python
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python
mysql sql常用语句大全
2022/06/21 MySQL