Python如何将模块打包并发布


Posted in Python onAugust 30, 2020

想要把自己开发的库分享给别人使用, 使用 pip install 命令来安装 , 需要学习如何制作一个python 安装包

一、注册pypi账号

https://pypi.org/account/register/

二、创建setup.py和pypirc文件

setup.py模板(该文件放在项目根目录下)

from os.path import abspath, dirname, join 
​ 
from setuptools import setup, find\_packages 
​ 
\# 获取requirements.txt里的依赖信息 
install\_reqs = \[req.strip() for req in open(abspath(join(dirname(\_\_file\_\_), 'requirements.txt')))\] 
​ 
with open("README.md", 'r', encoding="utf-8") as f: 
 long\_description = f.read() 
​ 
setup( 
 name='模块名', 
 version='0.0.1', 
 packages=find\_packages(), 
 url='网址', 
 license='协议', 
 author='作者姓名', 
 author\_email='作者邮箱', 
 description='描述信息', 
 long\_description=long\_description, 
 long\_description\_content\_type="text/markdown", 
 install\_requires=install\_reqs, 
)

pypirc模板 (该文件放在家目录内)

这个文件用来存储刚才注册pypi账号信息

[distutils] 
index-servers=pypi 
[pypi] 
repository = https://upload.pypi.org/legacy/ 
username = 刚才注册的用户名 
password = 刚才注册的密码

三、安装依赖

pip install --upgrade pip twine wheel setuptools

四、打包

python setup.py sdist bdist_wheel

打包之后 会在项目的dist目录内生成whl文件

五、将whl文件上传到pypi服务器

twine upload dist/*

以上就是Python如何将模块打包并发布的详细内容,更多关于python 模块打包发布的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
基于Python的身份证号码自动生成程序
Aug 15 Python
在Python的Django框架下使用django-tagging的教程
May 30 Python
django 创建过滤器的实例详解
Aug 14 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
python 发送json数据操作实例分析
Oct 15 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
python字符串的index和find的区别详解
Jun 20 Python
Python爬取数据并实现可视化代码解析
Aug 12 Python
python 利用zmail库发送邮件
Sep 11 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 #Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 #Python
五分钟带你搞懂python 迭代器与生成器
Aug 30 #Python
python开根号实例讲解
Aug 30 #Python
python一些性能分析的技巧
Aug 30 #Python
python脚本第一行如何写
Aug 30 #Python
golang/python实现归并排序实例代码
Aug 30 #Python
You might like
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
详解PHP匿名函数与注意事项
2016/03/29 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
js 实现菜单上下显示附效果图
2013/11/21 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
js HTML5 Canvas绘制转盘抽奖
2020/09/13 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
ECMAScript6变量的解构赋值实例详解
2017/09/19 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
js实现鼠标点击飘爱心效果
2020/08/19 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
Python字符串中删除特定字符的方法
2020/01/15 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
Python集合操作方法详解
2020/02/09 Python
在python image 中实现安装中文字体
2020/05/16 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
自我评价的范文
2014/02/02 职场文书
幸福家庭标语
2014/06/27 职场文书
nginx配置虚拟主机的详细步骤
2021/07/21 Servers
python 闭包函数详细介绍
2022/04/19 Python