前言

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. uni-app uni-file-picker文件上传实现拍摄从相册选择获取图片上传文档服务器(H5上传-微信小程序上传)

    前言 最近在使用uni-app写H5移动端,有一个从手机拍摄从相册选择获取图片上传到文档服务器功能. 查阅uni-app发现关于上传图片,uni-file-picker文件上传,uni.chooseI ...

  2. python打包上传至pypi —— 具有多个目录的项目工程快速打包上传

    项目目录 项目目录说明: cqrcode:项目包(我的里面有多个目录) LINCENSE:许可证 MANIFEST.in:需要打包的项目文件说明 README.md:项目说明文档 requiremen ...

  3. 自动将*.md文档中的图片上传到Gitee(Typora+PicGo+Gitee)

    1. 存在问题 很多刚接触markdown文档格式的友友们,在使用文档中的图片时还存在一些问题:直接将截图下来的图片或是本机图片粘贴在文档中,图片的地址还是本地文件的地址(如D:\xxx),这种情况下 ...

  4. 蒲公英 linux安装目录,蒲公英 - 文档中心 - 使用 Fastlane 上传 App 到蒲公英

    Fastlane 简介 Fastlane 是一款为 iOS 和 Android 开发者提供的自动化构建工具,它可以帮助开发者将 App 打包.签名.测试.发布.信息整理.提交 App Store 等工 ...

  5. NodeMCU文档中文翻译 5 上传代码

    一.译文 与烧写一样,这里有好几种方法来从计算机上传代码到设备当中. 注意NodeMCU串口接口在启动时使用115200波特率,为了在启动后改变速率,可以使用uart.setup(0,9600,8,0 ...

  6. PHP上传word文档并解析,PHP上传Word并读取显示

    file("story_img");; // 4, 判断文件上传的结果 if($result) { // 上传成功 $imageUrl="./Public/Admin/i ...

  7. 自定义Gradle插件实现打包上传到蒲公英

    上一篇文章提到了关于如何写Gradle自定义插件Plugin,本篇文件介绍下如何写gradle插件实现打包上传到pgy. 要实现打包上传到蒲公英必须要弄清楚以下问题: 1.什么时候打包完成?监听到打包 ...

  8. python模块打包上传pypi-演示pytest hook函数二次开发

    python模块打包上传pypi pytest hook函数二次开发 修改默认编码 显示中文用例名称 官方文档 : https://packaging.python.org/en/latest/tut ...

  9. jquery.zSlide.js-基于CSS3/HTML5演示文档jQuery插件

    一.卖的什么葫芦药? jquery.zSlide.js是我最近折腾的一个jQuery插件,借助于CSS3和HTML5的一些新特性,在浏览器中实现类似于powerpoint幻灯片展示. 如果你看到这段文 ...

最新文章

  1. ios -使用NSLayoutConstraint实现多个view等宽等高等间距
  2. BTC震荡调整后的新一轮爆发将要开启,BCH姿态逐渐明显
  3. VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credenti
  4. c语言两个字符串比较,将两个字符串s1和s2比较,如果s1s2,数组编程:将2个字符串s1和s2比较。若s1s2输出1;若s1=s2,输出0;若s1s2,输出-1(不能用strcmp函数)...
  5. android 休眠任务不执行_Springboot Scheduled任务为什么不执行?
  6. 10-20-000-简介-Thrift
  7. 利用Spring解耦VS的WebService
  8. java oracle分页查询语句_oracle分页查询语句,java得到分页查询语句的方法
  9. UnixVi命令详解
  10. 展望2025多媒体技术与应用趋势
  11. html如何改成花体英文字体,花体英文转换器可复制字体(附花体字发文技巧)...
  12. 【LeetCode】马三来刷题之Permutations
  13. javascript案例26——求100以内所有7倍数之和
  14. 手把手教你Python+selenium爬虫百度文库源码+解析
  15. Manjaro安装配置小记
  16. opencv简易数字识别
  17. 页面刷新指定到原先滚动条位置
  18. backpackII
  19. 打开相机拍照或从相册中选择照片
  20. FilterSecurityInterceptor源码解读

热门文章

  1. 为什么你成不了数据分析高手?可能是缺少这个思维
  2. 心流体验:与挑战颉颃的乐趣
  3. U-BOOT小全(一)
  4. mysql 5.6.21 winx64_mysql-advanced-5.6.21-winx64部署及使用
  5. 企业群呼系统呼叫中心系统
  6. 基于STM32采集CO2(MH-Z19C)传感器数据
  7. 鸿蒙os适配平板,华为新平板搭载高通4G芯片,鸿蒙OS已适配完成,友商随时可用...
  8. 云游戏深度报告:中国云游戏商业模式在哪里?
  9. tp5 操作web3
  10. vue实现商城列表渲染