前言

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 库的更多相关文章

  1. .NetCore WebApi利用Swagger文档实现选择文件上传

    介绍 实现这个功能主要还是依赖过滤器 在Swagger中利用 IOperationFilter 操作来实现文件上传 与之前处理结合Idr4授权一样的处理方式,不同的是授权处理的是Security,而文 ...

  2. pom中添加插件打包上传源码

    <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...

  3. Helium文档11-WebUI自动化-attach_file上传文件或图片

    前言 attach_file关键字根据官方介绍的作用是上传文件 入参介绍 def attach_file(file_path, to=None): """ :param ...

  4. Python程序的打包-上传到pypi

    pypi注册与配置 在pypi的官网:https://pypi.python.org/pypi 注册自己的账号激活账号之后,我们还需要将在本地配置一份文件 在用户的根目录创建文件 : .pypirc在 ...

  5. pytest文档4-Allure报告清除上一次数据

    前言 大家在执行过几次Allure之后就会发现,Allure的报告会把历史的执行结果都展示出来,但实际工作中我们可能只关心本次的结果,解决的话就需要修改一下执行命令了. 问题: 例如图中显示的第一条其 ...

  6. Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):3、Maven独立插件安装与settings.xml配置

    文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...

  7. jQuery上传插件,文件上传测试用例

    jQuery上传插件,文件上传测试用例 jQuery File Upload-jQuery上传插件介绍http://www.jq22.com/jquery-info230 jQuery File Up ...

  8. pytest文档7-pytest-html生成html报告

    前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告.兼容Python 2.7,3.6 pytest-html 1.github上源码地址[https://github. ...

  9. pytest文档3-pycharm运行pytest

    前言 上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多 写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻 ...

随机推荐

  1. TG

    telegram windous版 安装包 代理 安装好了,却没有网(ssr+PAC) 解决办法 汉化 在telegram 搜索 " zh_cn"

  2. 用命令方式启动、停止appium服务和app

    启动appium服务并监听一个端口命令: 命令command==> appium -a {ip} -p {port} -U {deviceName} -g {log} 以shell命令方式执行命 ...

  3. 抽象工厂模式详解 —— head first 设计模式

    项目实例 假设你有一家 pizza 店,你有很多种 pizza,要在系统中显示你所有 pizza 种类.实现这个功能并不难,使用普通方式实现: public class PizzaStore { Pi ...

  4. 谈谈 mysql和oracle的使用感受 -- 差异

    之前一直使用mysql作为存储数据库,虽然中间偶尔使用sqlite作为本地数据库存储,但没有感觉多少差别. 后来遇上了oracle,且以其作为主要存储,这下就不得不好好了解其东西了.oracle作为商 ...

  5. 如何用canvas拍出 jDer's工作照

    背景 在京东,就职满五年的老员工被称作"大佬",如果满了十年,那就要被称之为"超级大佬"了. 从 2016 年 5 月 19 日开始,每一年的这一天都被定为京东 ...

  6. 使用phoenix连接hbase

    hbase本身不支持SQL查询,为了实现这个功能,引入了phoenix,通过它可以实现hbase的sql查询.这里记录下如何配置并使用phoenix来操作hbase. 1. 下载地址 phoenix下 ...

  7. 国产化之路-麒麟V10操作系统安装.net core 3.1 sdk

    随着芯片国产化,操作系统国产化,软件国产化的声浪越来越高,公司也已经把开发项目国产化提上了日程,最近搞来了台长城的国产化电脑主机,用来搞试验,安装的是麒麟V10的操作系统,国产化折腾之路就此开始,用的 ...

  8. k8s架构分析(二)

    master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...

  9. netty全局分析1

    这个系列都是别人的分析文 https://www.jianshu.com/p/ac7fb5c2640f 一丶 Netty基础入门 Netty是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.U ...

  10. Kubernetes K8S之Ingress详解与示例

    K8S之Ingress概述与说明,并详解Ingress常用示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...