1. 程式人生 > 程式設計 >簡單瞭解如何封裝自己的Python包

簡單瞭解如何封裝自己的Python包

將自己的程式打包為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目錄下就可以找到打包後的檔案

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。