python开发web运维工具_Python web 开发工具箱
工欲善其事,必先利其器(裝逼工具)Pycharm。專業(yè)的python IDE,功能很強大,特別喜歡它的代碼merge工具,不想被編輯器折騰死的推薦直接使用,五星級推薦。(除了內(nèi)存占用大點)
vim。本人比較喜歡的編輯器,平常寫代碼、博客、文檔等使用頻繁,配上各種插件編輯效率很高。http://vimawesome.com/ 可以到這個上面安裝排名靠前的那些插件,能夠大大提高編輯效率,部分替代IDE(本人裝了六七十個插件,滿足各種變態(tài)的編輯需求)。其他優(yōu)秀的編輯器sublime,atom,vscode,emacs等不熟,根據(jù)個人喜好來吧,不過vim等終端友好的編輯器方便在服務(wù)器上直接寫代碼,缺點就是補全和跳轉(zhuǎn)支持不完善,也可以 Pycharm 和 vim插件配合。(在google搜索python awesome等可以在github上搜索到一些awesome項目,總結(jié)了該語言很多技術(shù)工具)。網(wǎng)上還有很多牛人開源了自己的 dotfiles,我們可以參考下別人的 vimrc 配置。
meld/vimdiff: 文本比對工具。
tmux。比screen好用,可以用來分屏,托管進程等,服務(wù)器端必備神器,ubuntu下基本就不用使用terminator之類的分屏工具了。最近看youtube視頻還發(fā)現(xiàn)有人在服務(wù)器上使用tmux和vim結(jié)對編程,兩個人同時attach到一個session里,基情四射。
oh-my-zsh。替代原生的bash shell,提供了好多方便的特性和漂亮主題。linux/mac下vim+tmux+zsh簡直是絕配,甚至可以直接在服務(wù)器上方便地擼代碼,跟本地開發(fā)體驗沒區(qū)別。
item2(mac)。替代原生的終端。
brew(mac)。類似ubuntu下的apt-get,可以方便安轉(zhuǎn)各種軟件和工具。
Alfred(mac): mac 下一款功能強大的工具,不過我一般只用它快速打開軟件。
Dash(mac): 強悍的文檔查詢工具。
autojump。方便在命令行里來回跳轉(zhuǎn)目錄。
gitx(mac):方便查看代碼提交歷史,便于了解整個代碼倉庫是怎樣一步步構(gòu)建的。http://gitx.frim.nl/user_manual.html
tig: text-mode interface for git. 喜歡命令行的可以嘗試下。 https://github.com/jonas/tig
tldr: 更好的man手冊
一定要有個趁手的開發(fā)工具(它甚至比你女朋友都重要),不管是IDE還是編輯器,你程序員生涯的小半輩子都在和它打交道(提升編輯效率的秘訣在于多用鍵盤快捷鍵,少用鼠標,以及可以高度定制的編輯器)。甚至編程字體你都要謹慎選取,比如字體可以很好區(qū)分'1', 'l', 'I', '0', 'O', 'S', '5'等易混淆字符,給瀏覽代碼帶來便利。如果使用的是mac可以google下 "Mac OS X development environment setup",有驚喜呦。最后注意你用編輯器的話一定要用 pylint,pep8 檢測插件,否則不遵守規(guī)范可能會導(dǎo)致用 IDE 打開項目后一堆警告(別人會想問候你祖宗的)。
代碼輔助和檢測工具pylint: 代碼靜態(tài)檢測工具,請務(wù)必集成在你的編輯器或者IDE里(推薦)。能幫你少犯很多錯誤,動態(tài)語言寫項目要十分謹慎,非常容易犯錯。或者在CI加上 hook 每次 push 代碼的時候檢測。
pep8: python代碼風格檢測工具(推薦)。懶人可以試試 autopep8 工具,自動格式化。所有人的代碼都過一遍 pylint 和 autopep8(放寬行長度) 看起來就比較一致了。
autopep8/yapf: python 代碼自動格式化工具,懶人必備。都可以集成到 vim 里,比如使用 Plugin 'Chiel92/vim-autoformat' 工具一鍵格式化。不過注意有時會無法正確處理多重縮進,這個比較危險,代碼邏輯都變了,還是自己寫代碼的時候注意下格式。
prospector: 集成了眾多python代碼檢測工具
mccabe: 圈復(fù)雜度檢測工具。McCabe 是一種度量程序復(fù)雜度的方法,如果單個子程序復(fù)雜度過高,或許就需要拆分邏輯提高程序的易讀性。
pyflakes
bandit: 用于Python代碼的安全性分析,openstack 的項目 https://github.com/openstack/bandit
rope,可以用來重構(gòu)等,功能強大。筆者經(jīng)常用rope自動幫我重新整理導(dǎo)入的包順序。
python-mode: 一個vim插件,有很多 python 補全,語法檢測等支持。并且集成了很多 python 工具(pylint,pep8等),筆者正在用。
jedi-vim: 一個 vim 插件,python 支持補全和重構(gòu)。注意和 rope 的自動補全有沖突,不要同時啟用。
Epydoc: Automatic API Documentation Generation for Python
2to3/python-modernize: python2 轉(zhuǎn) python3 工具。目前 Instagram 已經(jīng)全面遷移到 python3
我覺得對于動態(tài)語言使用好靜態(tài)代碼檢測工具還是很有必要的,最好集成在你的開發(fā)工具里(比如使用vim的python-mode插件可以很容易整合這幾個代碼檢測工具),輔助你寫出高質(zhì)量代碼,否則大型動態(tài)語言項目維護起來就是災(zāi)難。python會給你一種代碼很好寫的錯覺,不嚴格要求經(jīng)常會寫出來難以維護的爛代碼,甚至導(dǎo)致代碼倉庫失控。通過 pep8、pylint、mccae 檢測過的代碼如果警告和錯誤都消除以后,從代碼風格來說基本是沒有大問題的,筆者一開始用的時候也是各種警告,修正過很多代碼警告以后,以后代碼就越來越規(guī)范和整潔了。https://github.com/PyCQA
項目工具pigar: 找出項目使用到的依賴庫
buildout: 項目構(gòu)建工具
pyenv/virtualenv: 多版本管理
Api 工具
DSLPLY
PyParsing
Parsley
測試工具py.test
nosetest
unittest
tox
mock: mocking makes unit testing easier
文檔工具google doc
gitbook + markdown
sphinx + readthedoc (代碼即文檔),python 項目很多在用這個生成文檔
swagger: 適合寫 restful 文檔
jupyter notebook,可以做筆記或者代碼演示或者ppt,支持rst,md等格式,搞數(shù)據(jù)科學的人用得比較多,配合 RISE (https://github.com/damianavila/RISE) 可以做代碼交互式 slideshow,非常好的工具
Confluence: 適合作為團隊的項目文檔工具,團隊大了以后文檔還是很重要的。
日志、異常收集工具Sentry
Fluentd
管理及運維工具(devops很火)Supervisor.進程管理
Fabric.應(yīng)用部署
docker.最近比較火的容器技術(shù)
SaltStack和Ansible. 配置管理
StatsDGraphite等web監(jiān)控
調(diào)試工具ipdb/pdb
curl
http
postman
抓包工具mitmproxy: 用 python 實現(xiàn)的終端命令行抓包工具
charles: 抓包軟件(收費)
壓測工具locust: python實現(xiàn)的壓測工具。http://locust.io/
ab
數(shù)據(jù)庫工具MysqlWorkbench/Sequel Pro: mysql 客戶端工具。
繪圖工具
processon: http://processon.com/ 使用了下感覺還不錯,基本能滿足需求
效率工具番茄工作法:人長期專注的時間是有限的,找到適合自己的最佳番茄鐘,并且每個時間段都專注于一件事,每件事分清輕重緩急,要事優(yōu)先。在休息時間處理喝水、上廁所等雜事,做幾個深呼吸給腦瓜子充點氧。《精力管理》
teambiation/trello: todo list 工具。今天做了什么;計劃做什么;哪些困難導(dǎo)致工作被阻塞(實在搞不定的記下來及時向同事求助);發(fā)現(xiàn)了什么問題;今天學到了什么。(類似于開發(fā)日志之類的玩意,每天都是真正做了事情的,并且最好每天都是學到了新東西的)
音樂:選擇類似于《阿爾法波高效記憶音樂》《巴洛克學習音樂》等,能幫助你隔絕噪音。反正筆者聽歌的時候會想歌詞反而會打擾思路,一般就是聽這種不怎么讓你瞎想的音樂。
復(fù)盤。無論是寫代碼、做需求、改bug等,事后反思總結(jié)。分析并且記錄耗時的地方和可以改進的地方(怎么讓自己漲點記性),對于一些錯誤或者坑也可以記錄成文檔當做團隊的知識財富。
總結(jié)
以上是生活随笔為你收集整理的python开发web运维工具_Python web 开发工具箱的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: camvid数据集介绍_fastai 官
- 下一篇: oracle备份还原到本地_Oracle