簡單了解如何封裝自己的Python包
將自己的程序打包為whl/tar.gz文件
有時(shí)候自己寫了一個(gè)開發(fā)基本類,我們把這個(gè)類打包為whl或者tar.gz文件,這樣的話同事也可以使用自己開發(fā)的基本類了
安裝setuptools
pip install setuptools
編寫setup.py及__init__.py文件(init.py內(nèi)容可以為空)
注意目錄結(jié)構(gòu)
packages/ __init__.py 自己的文件.py setup.py Readme.txt
setup.py文件內(nèi)容
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'] )
除了上面示例中的幾個(gè)參數(shù)以外還有其他的
- name : 打包后包的文件名
- version : 版本號(hào)
- author : 作者
- author_email : 作者的郵箱
- py_modules : 要打包的.py文件
- packages: 打包的python文件夾
- include_package_data : 項(xiàng)目里會(huì)有一些非py文件,比如html和js等,這時(shí)候就要靠include_package_data 和 package_data 來指定了。package_data:一般寫成{‘your_package_name': [“files”]}, include_package_data還沒完,還需要修改MANIFEST.in文件.MANIFEST.in文件的語法為: include xxx/xxx/xxx/.ini/(所有以.ini結(jié)尾的文件,也可以直接指定文件名)
- license : 支持的開源協(xié)議
- description : 對(duì)項(xiàng)目簡短的一個(gè)形容
- ext_modules : 是一個(gè)包含Extension實(shí)例的列表,Extension的定義也有一些參數(shù)。
- ext_package : 定義extension的相對(duì)路徑
- requires : 定義依賴哪些模塊
- provides : 定義可以為哪些模塊提供依賴
- data_files :指定其他的一些文件(如配置文件),規(guī)定了哪些文件被安裝到哪些目錄中。如果目錄名是相對(duì)路徑,則是相對(duì)于sys.prefix或sys.exec_prefix的路徑。如果沒有提供模板,會(huì)被添加到MANIFEST文件中。
打包
進(jìn)入到setup.py所在目錄執(zhí)行以下命令
python setup.py bdist_wheel #打包為whl文件
python setup.py sdist #打包為tar.gz文件
打包后在dist目錄下就可以找到打包后的文件
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python接口測(cè)試數(shù)據(jù)庫封裝實(shí)現(xiàn)原理
- Python3實(shí)現(xiàn)的Mysql數(shù)據(jù)庫操作封裝類
- Python操作Oracle數(shù)據(jù)庫的簡單方法和封裝類實(shí)例
- Python Sql數(shù)據(jù)庫增刪改查操作簡單封裝
- Python實(shí)現(xiàn)封裝打包自己寫的代碼,被python import
- python實(shí)現(xiàn)一次性封裝多條sql語句(begin end)
- python將logging模塊封裝成單獨(dú)模塊并實(shí)現(xiàn)動(dòng)態(tài)切換Level方式
- Python發(fā)送郵件封裝實(shí)現(xiàn)過程詳解
- Python數(shù)據(jù)庫封裝實(shí)現(xiàn)代碼示例解析
相關(guān)文章
Python 中數(shù)組和數(shù)字相乘時(shí)的注意事項(xiàng)說明
這篇文章主要介紹了Python 中數(shù)組和數(shù)字相乘時(shí)的注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-05-05詳細(xì)解讀tornado協(xié)程(coroutine)原理
這篇文章主要介紹了詳細(xì)解讀tornado協(xié)程(coroutine)原理,涉及協(xié)程定義,生成器和yield語義,F(xiàn)uture對(duì)象,ioloop對(duì)象,函數(shù)裝飾器coroutine等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01flask框架實(shí)現(xiàn)連接sqlite3數(shù)據(jù)庫的方法分析
這篇文章主要介紹了flask框架實(shí)現(xiàn)連接sqlite3數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式分析了flask框架連接sqlite3數(shù)據(jù)庫的具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-07-07python實(shí)現(xiàn)飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python函數(shù)參數(shù)類型及排序原理總結(jié)
這篇文章主要介紹了Python函數(shù)參數(shù)類型及排序原理總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python3實(shí)現(xiàn)打格點(diǎn)算法的GPU加速實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Python3實(shí)現(xiàn)打格點(diǎn)算法的GPU加速的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-09-09Python高級(jí)架構(gòu)模式知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于Python高級(jí)架構(gòu)模式知識(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。2021-08-08python 殺死自身進(jìn)程的實(shí)現(xiàn)方法
今天小編就為大家分享一篇python 殺死自身進(jìn)程的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07