发布你的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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
Python 创建子进程模块subprocess详解
Apr 08 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
python字符串对其居中显示的方法
Jul 11 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 Python
Python实现简单石头剪刀布游戏
Jan 20 Python
pytorch多进程加速及代码优化方法
Aug 19 Python
python安装本地whl的实例步骤
Oct 12 Python
Python计算不规则图形面积算法实现解析
Nov 22 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
Apr 27 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 addslashes 函数详细分析说明
2009/06/23 PHP
php生成短域名函数
2015/03/23 PHP
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python中join函数简单代码示例
2018/01/09 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
python re.match()用法相关示例
2021/01/27 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
一些Unix笔试题和面试题
2013/01/22 面试题
七年级英语教学反思
2014/01/15 职场文书
中学生个人自我评价
2014/02/06 职场文书
聘用意向书范本
2014/04/01 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
养牛场项目建议书
2014/05/13 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
给老婆道歉的话
2015/01/20 职场文书
2015年教师国培感言
2015/08/01 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
如何获取numpy array前N个最大值
2021/05/14 Python
python 爬取吉首大学网站成绩单
2021/06/02 Python
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
python保存图片的四个常用方法
2022/02/28 Python