剛好前段時間寫過類似文章,大致內容如下:
背景概述
作為測試開發人員,我們產出的測試工具大多數情況是面向測試部門或團隊發布的。較以往,只是將整個工具模塊上傳至Git或SVN,測試人員進行下載,并且根據requirements文件安裝依賴庫,然后才能使用該工具,工具交付、安裝成本較高。
本文主要介紹如何對模塊進行打包,生成.whl文件,發布后用戶可以直接通過pipinstall*.whl進行安裝,另外,還可以將打好的包上傳到官方倉庫PyPI中。
Wheel和Egg都是python的打包格式,根據官網說明,Wheel是發行版Python的新標準并且將要取代.egg,Wheel現在是Python的二進制包的標準格式。
Wheel安裝
pipinstallwheel
模塊目錄結構說明
- setup.py:打包配置文件
- setup.cfg:包含了構建時候的一些默認參數,無可不添加該文件.
- MANIFEST.in:額外需要打包的文件,無可不添加該文件.
- README.md:項目說明文檔
- LICENSE.txt:項目許可說明文件,無可不添加該文件.
- 項目源碼:模塊源碼目錄lib
setup.py示例
考慮到其他配置文件的非必要性,我們主要介紹主要setup.py配置文件。
- name:項目名稱,也是最終在PyPI上搜索的名稱。
- version:版本號,一般由“主版本號、子版本號、修正版本號”三部分組成。
- author:作者姓名。
- description:項目的簡短描述,一般一句話就好,會顯示在PyPI上名字下端。
- url:通常為項目的GitHub、文檔等鏈接
- packages:列出項目內需要被打包的所有package。
- package_data:依賴數據文件,數據文件須放在項目目錄內且使用相對路徑。
- data_files:如果數據文件不存在于項目目錄內,則使用data_files參數或者MANIFEST.in文件進行管理。
- install_requires-說明項目的依賴包,安裝包時pip會自動安裝。
生成whl文件
使用bdist_wheel打包
pythonsetup.pybdist_wheel
執行結果部分截圖,如下
執行完成后,目錄結構如下:
安裝部署
我們將打包好的.whl對外發布,使用者可以通過pip進行安裝部署,同時也可以上傳至pip源。
pipinstall*.whl
執行結果截圖
若想了解如何使用Python實現發布exe應用程序,可閱讀
https://www.toutiao.com/i6661228471324246542/
若對你有所幫助,歡迎大家評論、留言,。