近期在做一個團隊項目,產(chǎn)生大量的函數(shù)與類,不好查找也不好團隊使用,最原生的python代碼文檔格式查閱困難,所以就有了做標準API文檔的念頭。
經(jīng)過bing、百度、google最終確定了大體的思路:
在云端用python原生的pydoc自動生成項目文檔
-
環(huán)境
- 阿里云ECS 1核2GB CentOS7
- anaconda3 ---python3.6版本
- 遵循PEP8風格規(guī)范的項目源文件
-
配置過程
在本地嘗試使用
pydoc -w <name>生成離線文檔:只能生成一個py文件的html文檔,調(diào)用包的文檔有頁面鏈接但是沒有對應(yīng)的html文件,需要一次手動生成或者分析網(wǎng)頁結(jié)構(gòu)寫自動化生成程序在本地嘗試使用
pydoc -p port啟動指定端口的web服務(wù),本地查看成功,內(nèi)容詳細,鏈接關(guān)聯(lián)度很強嘗試放入ECS,使用FileZilla Client將工程文件傳入指定的非root用戶文件夾內(nèi),在ECS中的工程文件夾路徑下使用命令
$ pydoc -p port啟動web服務(wù)器。外網(wǎng)嘗試訪問,失敗。排除是阿里云安全組的影響后,把問題確定在pydoc本身的問題上。
-
在ECS的anaconda3路徑下用
find命令查找pydoc.py文件$ find . -name pydoc.py ./lib/python3.6/pydoc.py ./pkgs/python-3.6.4.................. ./pkgs/.............................. -
找到了,然后使用vim查看/修改pydoc.py,這里可以直接在本地電腦上查看,然后在ECS上修改,借鑒了一位大大的記錄博客直接在pydoc.py中查找
host字段vim在正常模式下用
/host查找將
self.host = "localhost"語句的localhost改為<u>ECS的內(nèi)網(wǎng)ip</u>這里是一個坑,ECS是不知道自己的公網(wǎng)IP的,也不能和jupyter notebook一樣寫*。 外網(wǎng)嘗試訪問
ECS公網(wǎng)IP:port成功訪問。用
$ screen -R pydoc建立一個新的shell。輸入$ pydoc -p port啟動web服務(wù)。-
Ctrl+a再按d退出新shell窗口$ logout登出ssh連接
這樣配置就完成了。