<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python項(xiàng)目標(biāo)準(zhǔn)結(jié)構(gòu),我推薦這個(gè)!

          共 1765字,需瀏覽 4分鐘

           ·

          2022-03-13 10:15

          你好,我是zhenguo

          這是我的第503篇原創(chuàng)。

          這篇文章講什么?

          做數(shù)據(jù)分析習(xí)慣使用Jupyter notebook,編寫幾行代碼,很方便得到結(jié)果。

          但在真正項(xiàng)目中,一般使用PyCharm或VSCode開發(fā)。那有的小伙伴就問(wèn)了,項(xiàng)目文件目錄有沒(méi)有一個(gè)標(biāo)準(zhǔn)的結(jié)構(gòu)?

          應(yīng)該沒(méi)有唯一的統(tǒng)一標(biāo)準(zhǔn),但Python社區(qū)大佬Kenneth Reitz在2013年提出一個(gè)Python項(xiàng)目目錄結(jié)構(gòu),推薦你日后項(xiàng)目中參考。

          Python項(xiàng)目推薦結(jié)構(gòu)

          Kenneth推薦目錄結(jié)構(gòu),如下所示:

          samplemod-master
          ├──?LICENSE
          ├──?MANIFEST.in
          ├──?Makefile
          ├──?README.rst
          ├──?docs
          │???├──?Makefile
          │???├──?conf.py
          │???├──?index.rst
          │???└──?make.bat
          ├──?requirements.txt
          ├──?sample
          │???├──?__init__.py
          │???├──?core.py
          │???└──?helpers.py
          ├──?setup.py
          └──?tests
          ????├──?__init__.py
          ????├──?context.py
          ????├──?test_advanced.py
          ????└──?test_basic.py

          一共3個(gè)文件夾,17個(gè)文件。

          先來(lái)看看第一個(gè)文件夾docs,它是項(xiàng)目相關(guān)文檔,包括依賴包安裝的Makefilemake.bat,項(xiàng)目配置conf.py,項(xiàng)目介紹文檔index.rst,是比README.rst更細(xì)化的一個(gè)文檔,README.rst更像一個(gè)項(xiàng)目總覽。

          第二個(gè)文件夾sample,在Python中一般叫做包(package),它是項(xiàng)目核心代碼,一般會(huì)有多個(gè)這種包,__init__.py是Python包包括的文件。core.pyhelpers.pysample包里兩個(gè)核心模塊。

          第三個(gè)包tests,是對(duì)應(yīng)于sample包的單元測(cè)試包,里面的模塊名稱一般以test開頭,測(cè)試sample里的每個(gè)模塊。

          setup.py是做什么的?

          有了上面三個(gè)最主要的包外,文件最重要的有setup.py,這個(gè)文件是做什么的?

          簡(jiǎn)單來(lái)說(shuō),setup.py是和打包相關(guān)的配置模塊,一般結(jié)合setuptools。

          有了setup.py,我們就可以安裝包到本地全局環(huán)境,或者上傳到PyPi,這樣全世界開發(fā)者都有機(jī)會(huì)搜索到你的包,并使用pip安裝上你的包。

          里面代碼相對(duì)比較標(biāo)準(zhǔn)和固定,比如在這個(gè)項(xiàng)目里代碼如下:

          from?setuptools?import?setup,?find_packages


          with?open('README.rst')?as?f:
          ????readme?=?f.read()

          with?open('LICENSE')?as?f:
          ????license?=?f.read()

          setup(
          ????name='sample',
          ????version='0.1.0',
          ????description='Sample?package?for?Python-Guide.org',
          ????long_description=readme,
          ????author='Kenneth?Reitz',
          ????author_email='[email protected]',
          ????url='https://github.com/kennethreitz/samplemod',
          ????license=license,
          ????packages=find_packages(exclude=('tests',?'docs'))
          )

          看到這里面用到README.rstLICENSE文件,并且指定打哪些包分發(fā)出去。


          這篇文章梳理了Python項(xiàng)目的標(biāo)準(zhǔn)結(jié)構(gòu),希望對(duì)你有用,點(diǎn)贊或收藏吧,enjoy!

          我的課程宣傳

          我正在錄制一個(gè)從零學(xué)Python的體系課,目前已有120節(jié)視頻課,正在進(jìn)行的有爬蟲、數(shù)據(jù)分析、算法等,整個(gè)錄制完成應(yīng)該有300節(jié)視頻課。

          預(yù)售階段我決定只299元。相當(dāng)于花一門課的錢,學(xué)到了很多門課。

          這個(gè)課有專屬班級(jí)群,我會(huì)在里面答疑每一個(gè)提問(wèn)。

          3470a318ae86cf972eac0ead41b0341a.webp

          長(zhǎng)按圖中圓圈二維碼

          zhenguo出品,品質(zhì)保證!

          瀏覽 135
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  什么网站可以看毛片 | 成人视频无码 | 亚洲图片欧美色图 | 无码H黄| AV电影中文字幕一区 |