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实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 Python
node.js获取参数的常用方法(总结)
May 29 Python
Python分支结构(switch)操作简介
Jan 17 Python
Python 数据处理库 pandas 入门教程基本操作
Apr 19 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
May 10 Python
对Django项目中的ORM映射与模糊查询的使用详解
Jul 18 Python
python sorted方法和列表使用解析
Nov 18 Python
python实现大战外星人小游戏实例代码
Dec 26 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
Feb 29 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
利用Python函数实现一个万历表完整示例
Jan 23 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
一个显示天气预报的程序
2006/10/09 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
Pyinstaller将py打包成exe的实例
2018/03/31 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
路政管理毕业自荐书范文
2014/02/10 职场文书
优秀语文教师事迹
2014/05/18 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
典型事迹材料范文
2014/12/29 职场文书
红白喜事主持词
2015/07/06 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书