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 的就完成了,是不是很激动!

posted @ 2020-09-14 12:03  上海-悠悠  阅读(175)  评论(0编辑  收藏