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实现从ftp服务器下载文件的方法
Apr 30 Python
python网络编程之数据传输UDP实例分析
May 20 Python
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
python一键升级所有pip package的方法
Jan 16 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
Django框架实现的简单分页功能示例
Dec 04 Python
Python Pandas中根据列的值选取多行数据
Jul 08 Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 Python
python实现Oracle查询分组的方法示例
Apr 30 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 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
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
js创建数组的简单方法
2016/07/27 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
RC4文件加密的python实现方法
2015/06/30 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
Django开发的简易留言板案例详解
2018/12/04 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
岗位职责风险点
2014/03/12 职场文书
检举信的格式及范文
2014/04/04 职场文书
中职班主任培训心得体会
2016/01/07 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python