封裝屬於自己的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='1099301992@qq.com',
      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目錄下就可以找到打包后的文件


免責聲明!

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



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