pytest文档56-插件打包上传到 pypi 库

前言

pytest 的插件完成之后,可以上传到 github,方便其他小伙伴通过 pip 源码安装。如果我们想通过 pip install packages 这种方式安装的话,需上传到 pypi 仓库

pypi仓库

pip,全称是:python install packages,它是一个通用的 Python 包管理工具,是easy_install的替代品, 主要是用于安装 PyPI 上的软件包。
PyPI,全称是:Python Package Index,它是Python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。
PyPI推荐使用pip包管理器来下载第三方库。

我们想把python包上传到pypi,需在 https://pypi.org/ 注册一个账号

整理项目结构

前面这篇https://www.cnblogs.com/yoyoketang/p/13638661.htmlpytest 插件的开发,就是一个半成品了

整个目录结构如下

pytest-change-report
├── LICENSE
├── README.rst
├── requirements.txt
├── setup.py
├── pytest_change_report.py
├── tests
│   ├──__init__.py
│   ├──conftest.py
│   └──test_change_report.py
  • pytest-change-report 是项目的包名
  • LICENSE LICENSE文件是授权文件,比如:MIT license, APACHE license
  • requirements.txt 依赖包,比如这个插件依赖pytest模块,可以写pytest==4.5.0
  • README.rst 其实就是项目介绍和使用说明帮助文档
  • setup.py python模块安装所需要的文件
  • tests 是测试的目录
  • pytest_change_report.py 插件实现功能的核心模块

代码写完测试没问题后,上传到github仓库,并打个v1.0的标签

打完 tag 标签,push 到 github 仓库,这样在 tag 目录就能看到 release 的记录了

打包

cd到项目的根目录,执行

python setup.py sdist build

执行完成后,在dist目录,会生成一个.tar.gz的压缩包,这个压缩包就可以通过 pip 安装了

也可以打包一个wheels格式的包,需要安装wheel包:

pip install wheel

执行以下命令打包

python setup.py bdist_wheel --universal

这样在dist目录生成一个 pytest_change_report-1.0-py2.py3-none-any.whl 文件,.whl 后置的文件也可以通过 pip 直接安装

上传发布

使用twine上传,先安装twine

pip install twine

上传输入指令,接着会提示输入账号和密码

twine upload dist/*

>twine upload dist/*
Uploading distributions to https://upload.pypi.org/legacy/
Enter your username: yoyoketang
Enter your password:
Uploading pytest_change_report-1.0-py2.py3-none-any.whl
100%|█████████████████████████████████████████████████████████ ████████████████████| 5.56k/5.56k [00:00<00:00, 6.17kB/s]
Uploading pytest-change-report-1.0.tar.gz
100%|█████████████████████████████████████████████████████████ ████████████████████| 5.15k/5.15k [00:01<00:00, 4.71kB/s]

View at:
https://pypi.org/project/pytest-change-report/1.0/

上传后访问地址 https://pypi.org/project/pytest-change-report/1.0/

查看pypi

打开上面的访问地址可以查看到已经上传成功

点 Homepage 可以跳转到 github 仓库去

这样小伙伴们就能直接使用 pip 安装了

pip install pytest-change-report

python 打包发布到 pypi 的就完成了,是不是很激动!

网易云完整视频课程《pytest+yaml 框架使用与开发》https://study.163.com/course/courseMain.htm?courseId=1213419817&share=2&shareId=480000002230338

posted @   上海-悠悠  阅读(1076)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-09-14 python测试开发django-rest-framework-61.权限认证(permission)
2018-09-14 Locust性能测试3-no-web模式和csv报告保存
2018-09-14 Locust性能测试2-先登录场景案例
2018-09-14 appium+python自动化61-中文输入乱码问题解决
2017-09-14 Pycharm上python和unittest两种姿势傻傻分不清楚
点击右上角即可分享
微信分享提示