1、前言
構(gòu)建包的過(guò)程有些復(fù)雜,但從長(zhǎng)遠(yuǎn)來(lái)看是值得的,尤其是可以創(chuàng)建屬于自己的Python包。本文的目的是通過(guò)對(duì)構(gòu)建一個(gè)新發(fā)行包的案例研究,讓您了解需要構(gòu)建什么以及如何構(gòu)建python包的基礎(chǔ)知識(shí)。
2、開(kāi)始
首先,您肯定需要設(shè)置一個(gè)或多個(gè)內(nèi)容,以便了解如何構(gòu)建python包。因此,需要的東西的如下:
IDE (Vs Code)
Python 3
構(gòu)建Python包
本文中構(gòu)建的標(biāo)稱(chēng)為b_dist。b_dist是一個(gè)分布包,它有Gaussian, Binomial, e.t.c等類(lèi)。但首先,使用下面的映射結(jié)構(gòu)創(chuàng)建包文件夾:
首先,您必須為上面在映射中列出的那些創(chuàng)建一個(gè)空文件。注意:b_dist是一個(gè)文件夾,setup.py帶有自述文件。md不在b_dist文件夾中。
Python作為一門(mén)不斷發(fā)展與普及的語(yǔ)言,還在不斷更新中。在學(xué)習(xí)時(shí),建議找一些學(xué)習(xí)伙伴一起來(lái)學(xué)習(xí)和討論,效果更佳。
下面,讓我們先談?wù)?/span>b_dist里面的文件:
b_dist/__init__.py
這個(gè)文件告訴python這個(gè)文件夾包含一個(gè)包。另外,包總是由init文件組成,即使它是空的。當(dāng)您在python程序中導(dǎo)入一個(gè)包時(shí),剩余的__init__文件就會(huì)運(yùn)行。在這種情況下,其他的__init__文件導(dǎo)入高斯、二項(xiàng)和分布模型,以便在使用包時(shí)直接導(dǎo)入這些類(lèi)。
b_dist/Binomialdistribution.py
二項(xiàng)文件是用于計(jì)算和可視化二項(xiàng)分布的類(lèi)。
b_dist/Guassiandistribution.py
高斯文件是用于計(jì)算和可視化高斯分布的類(lèi)。
b_dist/Generaldistribution.py
通用分布文件是用于計(jì)算和可視化概率分布的類(lèi)。
b_dist/licence.txt
許可證檔案實(shí)際上載有你的版權(quán)資料,說(shuō)明你打算準(zhǔn)許其他使用者自由使用你的套件。
b_dist/setup.cfg
cfg文件是一個(gè)保存自述文件數(shù)據(jù)的文件。
README.md
這是包的文檔。它描述了包是如何工作的
setup.py
py文件是pip安裝包所必需的。此外,它還包含關(guān)于包的元數(shù)據(jù)。請(qǐng)注意以下屬性,如名稱(chēng)和包。這個(gè)屬性必須與文件夾名' b_dist '具有相同的值,以便在上傳我們的包時(shí)避免bug。
本地運(yùn)行包
讓我們先通過(guò)輸入下面的代碼在本地運(yùn)行包:
輸入后應(yīng)該是輸出:
最后,我們的包已經(jīng)安裝好了。讓我們通過(guò)輸入下面的代碼來(lái)測(cè)試它是否有效:
太棒了! !,現(xiàn)在我們的包可以工作了,讓我們繼續(xù)進(jìn)行下一個(gè)部分。
上傳Python包
使用PyPI可以快速上傳新構(gòu)建的包。首先來(lái)看什么是PyPi。PyPi代表Python包索引(PyPi),它是Python編程語(yǔ)言的軟件存儲(chǔ)庫(kù)。
所以現(xiàn)在要將我們的包上載到PyPI站點(diǎn)的測(cè)試版本,另外要確保pip安裝過(guò)程是否正常,然后現(xiàn)在要上載到PyPI站點(diǎn)。
首先,用測(cè)試創(chuàng)建一個(gè)帳戶(hù)。對(duì)兩個(gè)站點(diǎn)使用相同的用戶(hù)名和密碼。
在成功創(chuàng)建兩個(gè)帳戶(hù)之后,讓我們返回IDE并將包上傳到TestPyPi。但首先,要與這些站點(diǎn)通信,您需要pip安裝一個(gè)名為twine的庫(kù),使用:
所以,安裝twine后,輸入以下代碼先上傳到TestPyPi:
輸入代碼后,您將看到兩個(gè)新文件夾,然后移動(dòng)到下一行代碼:
輸入密碼后,你會(huì)看到一條成功的消息:“上傳package_name 100%成功”。要檢查上傳是否成功,請(qǐng)?jiān)L問(wèn)您的TestPyPi帳戶(hù)并查看您的新包。
現(xiàn)在使用以下代碼從TestPyPi站點(diǎn)安裝pip:
成功集成TestPyPi之后,現(xiàn)在讓我們繼續(xù)上載到主PyPi,在那里可以使用包名直接進(jìn)行pip安裝,也可以公開(kāi)使用。
祝賀您,您已經(jīng)成功地構(gòu)建了一個(gè)python包?,F(xiàn)在在pypi.org上檢查新上傳的包
文章來(lái)源:網(wǎng)絡(luò) 版權(quán)歸原作者所有
上文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,請(qǐng)權(quán)利人聯(lián)系小編,我們將立即處理
聯(lián)系客服