您好,登錄后才能下訂單哦!
這篇文章主要講解了“python項(xiàng)目目錄規(guī)范是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“python項(xiàng)目目錄規(guī)范是什么”吧!
目錄結(jié)構(gòu)如下
XXX/ |-- core/ | |-- core.py | |-- api/ | |-- api.py | |-- db/ | |-- db_handle.py | |-- lib/ | |-- common.py | |-- conf/ | |-- settings.py | |-- run.py |-- setup.py |-- requirements.txt |-- README
簡(jiǎn)要解釋一下:
? core/: 存放業(yè)務(wù)邏輯相關(guān)代碼
? api/: 存放接口文件,接口主要用于為業(yè)務(wù)邏輯提供數(shù)據(jù)操作。
? db/: 存放操作數(shù)據(jù)庫(kù)相關(guān)文件,主要用于與數(shù)據(jù)庫(kù)交互
? lib/: 存放程序中常用的自定義模塊
? conf/: 存放配置文件
? run.py: 程序的啟動(dòng)文件,一般放在項(xiàng)目的根目錄下,因?yàn)樵谶\(yùn)行時(shí)會(huì)默認(rèn)將運(yùn)行文件所在的文件夾作為sys.path的第一個(gè)路徑,這樣就省去了處理環(huán)境變量的步驟
? setup.py: 安裝、部署、打包的腳本。
? requirements.txt: 存放軟件依賴的外部Python包列表。
? README: 項(xiàng)目說明文件。
除此之外,有一些方案給出了更加多的內(nèi)容,比如LICENSE.txt,ChangeLog.txt文件等,主要是在項(xiàng)目需要開源時(shí)才會(huì)用到,請(qǐng)讀者自行查閱。
關(guān)于README的內(nèi)容,這個(gè)應(yīng)該是每個(gè)項(xiàng)目都應(yīng)該有的一個(gè)文件,目的是能簡(jiǎn)要描述該項(xiàng)目的信息,讓讀者快速了解這個(gè)項(xiàng)目。一般管理查的根本沒有可讀性,它需要說明以下幾個(gè)事項(xiàng):
1、軟件定位,軟件的基本功能; 2、運(yùn)行代碼的方法: 安裝環(huán)境、啟動(dòng)命令等; 3、簡(jiǎn)要的使用說明; 4、代碼目錄結(jié)構(gòu)說明,更詳細(xì)點(diǎn)可以說明軟件的基本原理; 5、常見問題說明。
關(guān)于setup.py和requirements.txt:
一般來(lái)說,用setup.py來(lái)管理代碼的打包、安裝、部署問題。業(yè)界標(biāo)準(zhǔn)的寫法是用Python流行的打包工具setuptools來(lái)管理這些事情,這種方式普遍應(yīng)用于開源項(xiàng)目中。不過這里的核心思想不是用標(biāo)準(zhǔn)化的工具來(lái)解決這些問題,而是說,一個(gè)項(xiàng)目一定要有一個(gè)安裝部署工具,能快速便捷的在一臺(tái)新機(jī)器上將環(huán)境裝好、代碼部署好和將程序運(yùn)行起來(lái)。
requirements.txt文件的存在是為了方便開發(fā)者維護(hù)軟件的依賴庫(kù)。我們需要將開發(fā)過程中依賴庫(kù)的信息添加進(jìn)該文件中,避免在 setup.py安裝依賴時(shí)漏掉軟件包,同時(shí)也方便了使用者明確項(xiàng)目引用了哪些Python包。
這個(gè)文件的格式是每一行包含一個(gè)包依賴的說明,通常是flask>=0.10這種格式,要求是這個(gè)格式能被pip識(shí)別,這樣就可以簡(jiǎn)單的通過 pip install -r requirements.txt來(lái)把所有Python依賴庫(kù)都裝好了
感謝各位的閱讀,以上就是“python項(xiàng)目目錄規(guī)范是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)python項(xiàng)目目錄規(guī)范是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。