Python 面向?qū)ο缶幊讨谱?Package 并提供下載安裝

Python 的 pip install 大家都很熟悉吧~

但是我們今天要來講講,如何自己使用 OOP 面向?qū)ο缶幊虂韺懸粋€(gè) Package,然后上傳到 Pypy譬猫,讓別人可以 pip install豪硅。

如何寫一個(gè)符合安裝的 Package

Python 模塊只是一個(gè)包含代碼的 Python 文件,可以在別的代碼塊中被引用丽旅。?

但是 Package 是可以安裝的模塊的集合椰棘,Python包需要一個(gè)__init__.py文件。

1. 文件結(jié)構(gòu)

package 結(jié)構(gòu)

這里可以看到可以被用于安裝的文件夾里面有一個(gè) distributions 的文件夾榄笙,這個(gè)名字也是 package 的名字邪狞,此外也有一個(gè) setup.py 的文件

先來看一個(gè) setup.py 文件,是 Package 的屬性茅撞。

from setuptools import setup

setup(name='distributions',

version='0.1',

description='Gaussian distributions',

packages=['distributions'],

zip_safe=False)

接下來帆卓,就是 文件夾里面的 distribution 文件夾的結(jié)構(gòu)。

結(jié)構(gòu)

每個(gè) Package 都需要一個(gè) __init__.py 的文件去處理初始化問題米丘,下面來看一下里面書寫的內(nèi)容剑令。

from .Gaussiandistribution import Gaussian

盡管不書寫,整個(gè) Package 安裝也是沒有問題的拄查,但是在使用的時(shí)候吁津,會(huì)是的引用變得繁瑣。通過結(jié)構(gòu)可以看到堕扶,我們的 Class 類是在 Caussiandistribution.py 里面的碍脏,因此當(dāng)初始化使用了這句代碼癣疟,我們就可以直接引用類了,即潮酒,from distributions import Gaussian 就可以直接使用了睛挚。?

README.md 就是對于 package 功能的說明。

license.txt 是一個(gè)使用規(guī)范急黎,我們通常會(huì)直接 copy MIT 的說明扎狱,如下。

Copyright <YEAR> <COPYRIGHT HOLDER>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

setup.cfg 是一個(gè)默認(rèn)文檔勃教,表明需要顯示的內(nèi)容淤击。以下就是文檔內(nèi)的內(nèi)容。

[metadata]

description-file = README.md

2. 上傳 Pypi

# 在 Terminal 中進(jìn)入相應(yīng)的文件

cd binomial_package_files

# 生成需要上傳的配套文件故源,egg污抬、zip 等

python setup.py sdist

# 安裝上傳所有的工具 twine

pip install twine

# 上傳到 pypi 的測試路徑

twine upload --repository-url https://test.pypi.org/legacy/ dist/*

# 測試安裝效果

pip install --index-url https://test.pypi.org/simple/ distribution

# 測試沒有問題后上傳到正式路徑

twine upload dist/* pip install distribution

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市绳军,隨后出現(xiàn)的幾起案子印机,更是在濱河造成了極大的恐慌,老刑警劉巖门驾,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件射赛,死亡現(xiàn)場離奇詭異,居然都是意外死亡奶是,警方通過查閱死者的電腦和手機(jī)楣责,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來聂沙,“玉大人秆麸,你說我怎么就攤上這事〖昂海” “怎么了沮趣?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長豁生。 經(jīng)常有香客問我兔毒,道長,這世上最難降的妖魔是什么甸箱? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任育叁,我火速辦了婚禮,結(jié)果婚禮上芍殖,老公的妹妹穿的比我還像新娘豪嗽。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布龟梦。 她就那樣靜靜地躺著隐锭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪计贰。 梳的紋絲不亂的頭發(fā)上钦睡,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音躁倒,去河邊找鬼荞怒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛秧秉,可吹牛的內(nèi)容都是我干的褐桌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼象迎,長吁一口氣:“原來是場噩夢啊……” “哼荧嵌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起砾淌,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對情侶失蹤啦撮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后拇舀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逻族,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年骄崩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片薄辅。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡要拂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出站楚,到底是詐尸還是另有隱情脱惰,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布窿春,位于F島的核電站拉一,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏旧乞。R本人自食惡果不足惜蔚润,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尺栖。 院中可真熱鬧嫡纠,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至者蠕,卻和暖如春窃祝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背踱侣。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工粪小, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泻仙。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓糕再,卻偏偏與公主長得像,于是被迫代替她去往敵國和親玉转。 傳聞我的和親對象是個(gè)殘疾皇子突想,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,294評(píng)論 0 10
  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,399評(píng)論 0 23
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007閱讀 2,202評(píng)論 0 3
  • 1、孝是一種序位法則和流通法則究抓。 教育猾担,主要是教你做“人”的道理。 教育有三個(gè)目的刺下,第一是教你明了人與人之間的...
    LinnChen閱讀 214評(píng)論 0 1
  • 昨天晚上在艾語團(tuán)線上學(xué)習(xí)了現(xiàn)代婚禮需要注意的細(xì)節(jié)和流程绑嘹,但是因?yàn)樽陨碓蚯懊娑加姓J(rèn)真在聽課,后面一小部分沒能...
    MY洛洛閱讀 242評(píng)論 0 0