pytest文档56-插件打包上传到 pypi 库
Posted 上海-悠悠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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文档56-插件打包上传到 pypi 库的主要内容,如果未能解决你的问题,请参考以下文章
pytest文档43-元数据使用(pytest-metadata)
Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ② ( java 和 groovy 插件自带文档任务 | 自定义文档打包任务 | 生成文档包 )