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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM