簡單瞭解如何封裝自己的Python包
阿新 • • 發佈:2020-07-09
將自己的程式打包為whl/tar.gz檔案
有時候自己寫了一個開發基本類,我們把這個類打包為whl或者tar.gz檔案,這樣的話同事也可以使用自己開發的基本類了
安裝setuptools
pip install setuptools
編寫setup.py及__init__.py檔案(init.py內容可以為空)
注意目錄結構
packages/ __init__.py 自己的檔案.py setup.py Readme.txt
setup.py檔案內容
from setuptools import setup setup(name='dingding-py',version='0.0.2',description='this is a dingdingbot packages',author='Jruing',author_email='[email protected]',packages=['Qingolddriver'] )
除了上面示例中的幾個引數以外還有其他的
- name : 打包後包的檔名
- version : 版本號
- author : 作者
- author_email : 作者的郵箱
- py_modules : 要打包的.py檔案
- packages: 打包的python資料夾
- include_package_data : 專案裡會有一些非py檔案,比如html和js等,這時候就要靠include_package_data 和 package_data 來指定了。package_data:一般寫成{‘your_package_name': [“files”]},include_package_data還沒完,還需要修改MANIFEST.in檔案.MANIFEST.in檔案的語法為: include xxx/xxx/xxx/.ini/(所有以.ini結尾的檔案,也可以直接指定檔名)
- license : 支援的開源協議
- description : 對專案簡短的一個形容
- ext_modules : 是一個包含Extension例項的列表,Extension的定義也有一些引數。
- ext_package : 定義extension的相對路徑
- requires : 定義依賴哪些模組
- provides : 定義可以為哪些模組提供依賴
- data_files :指定其他的一些檔案(如配置檔案),規定了哪些檔案被安裝到哪些目錄中。如果目錄名是相對路徑,則是相對於sys.prefix或sys.exec_prefix的路徑。如果沒有提供模板,會被新增到MANIFEST檔案中。
打包
進入到setup.py所在目錄執行以下命令
python setup.py bdist_wheel #打包為whl檔案
python setup.py sdist #打包為tar.gz檔案
打包後在dist目錄下就可以找到打包後的檔案
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。