python开发web运维工具_Python web 开发工具箱

工欲善其事,必先利其器(装逼工具)Pycharm。专业的python IDE,功能很强大,特别喜欢它的代码merge工具,不想被编辑器折腾死的推荐直接使用,五星级推荐。(除了内存占用大点)

vim。本人比较喜欢的编辑器,平常写代码、博客、文档等使用频繁,配上各种插件编辑效率很高。http://vimawesome.com/ 可以到这个上面安装排名靠前的那些插件,能够大大提高编辑效率,部分替代IDE(本人装了六七十个插件,满足各种变态的编辑需求)。其他优秀的编辑器sublime,atom,vscode,emacs等不熟,根据个人喜好来吧,不过vim等终端友好的编辑器方便在服务器上直接写代码,缺点就是补全和跳转支持不完善,也可以 Pycharm 和 vim插件配合。(在google搜索python awesome等可以在github上搜索到一些awesome项目,总结了该语言很多技术工具)。网上还有很多牛人开源了自己的 dotfiles,我们可以参考下别人的 vimrc 配置。

meld/vimdiff: 文本比对工具。

tmux。比screen好用,可以用来分屏,托管进程等,服务器端必备神器,ubuntu下基本就不用使用terminator之类的分屏工具了。最近看youtube视频还发现有人在服务器上使用tmux和vim结对编程,两个人同时attach到一个session里,基情四射。

oh-my-zsh。替代原生的bash shell,提供了好多方便的特性和漂亮主题。linux/mac下vim+tmux+zsh简直是绝配,甚至可以直接在服务器上方便地撸代码,跟本地开发体验没区别。

item2(mac)。替代原生的终端。

brew(mac)。类似ubuntu下的apt-get,可以方便安转各种软件和工具。

Alfred(mac): mac 下一款功能强大的工具,不过我一般只用它快速打开软件。

Dash(mac): 强悍的文档查询工具。

autojump。方便在命令行里来回跳转目录。

gitx(mac):方便查看代码提交历史,便于了解整个代码仓库是怎样一步步构建的。http://gitx.frim.nl/user_manual.html

tig: text-mode interface for git. 喜欢命令行的可以尝试下。 https://github.com/jonas/tig

tldr: 更好的man手册

一定要有个趁手的开发工具(它甚至比你女朋友都重要),不管是IDE还是编辑器,你程序员生涯的小半辈子都在和它打交道(提升编辑效率的秘诀在于多用键盘快捷键,少用鼠标,以及可以高度定制的编辑器)。甚至编程字体你都要谨慎选取,比如字体可以很好区分'1', 'l', 'I', '0', 'O', 'S', '5'等易混淆字符,给浏览代码带来便利。如果使用的是mac可以google下 "Mac OS X development environment setup",有惊喜呦。最后注意你用编辑器的话一定要用 pylint,pep8 检测插件,否则不遵守规范可能会导致用 IDE 打开项目后一堆警告(别人会想问候你祖宗的)。

代码辅助和检测工具pylint: 代码静态检测工具,请务必集成在你的编辑器或者IDE里(推荐)。能帮你少犯很多错误,动态语言写项目要十分谨慎,非常容易犯错。或者在CI加上 hook 每次 push 代码的时候检测。

pep8: python代码风格检测工具(推荐)。懒人可以试试 autopep8 工具,自动格式化。所有人的代码都过一遍 pylint 和 autopep8(放宽行长度) 看起来就比较一致了。

autopep8/yapf: python 代码自动格式化工具,懒人必备。都可以集成到 vim 里,比如使用 Plugin 'Chiel92/vim-autoformat' 工具一键格式化。不过注意有时会无法正确处理多重缩进,这个比较危险,代码逻辑都变了,还是自己写代码的时候注意下格式。

prospector: 集成了众多python代码检测工具

mccabe: 圈复杂度检测工具。McCabe 是一种度量程序复杂度的方法,如果单个子程序复杂度过高,或许就需要拆分逻辑提高程序的易读性。

pyflakes

bandit: 用于Python代码的安全性分析,openstack 的项目 https://github.com/openstack/bandit

rope,可以用来重构等,功能强大。笔者经常用rope自动帮我重新整理导入的包顺序。

python-mode: 一个vim插件,有很多 python 补全,语法检测等支持。并且集成了很多 python 工具(pylint,pep8等),笔者正在用。

jedi-vim: 一个 vim 插件,python 支持补全和重构。注意和 rope 的自动补全有冲突,不要同时启用。

Epydoc: Automatic API Documentation Generation for Python

2to3/python-modernize: python2 转 python3 工具。目前 Instagram 已经全面迁移到 python3

我觉得对于动态语言使用好静态代码检测工具还是很有必要的,最好集成在你的开发工具里(比如使用vim的python-mode插件可以很容易整合这几个代码检测工具),辅助你写出高质量代码,否则大型动态语言项目维护起来就是灾难。python会给你一种代码很好写的错觉,不严格要求经常会写出来难以维护的烂代码,甚至导致代码仓库失控。通过 pep8、pylint、mccae 检测过的代码如果警告和错误都消除以后,从代码风格来说基本是没有大问题的,笔者一开始用的时候也是各种警告,修正过很多代码警告以后,以后代码就越来越规范和整洁了。https://github.com/PyCQA

项目工具pigar: 找出项目使用到的依赖库

buildout: 项目构建工具

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等格式,搞数据科学的人用得比较多,配合 RISE (https://github.com/damianavila/RISE) 可以做代码交互式 slideshow,非常好的工具

Confluence: 适合作为团队的项目文档工具,团队大了以后文档还是很重要的。

日志、异常收集工具Sentry

Fluentd

管理及运维工具(devops很火)Supervisor.进程管理

Fabric.应用部署

docker.最近比较火的容器技术

SaltStack和Ansible. 配置管理

StatsDGraphite等web监控

调试工具ipdb/pdb

curl

http

postman

抓包工具mitmproxy: 用 python 实现的终端命令行抓包工具

charles: 抓包软件(收费)

压测工具locust: python实现的压测工具。http://locust.io/

ab

数据库工具MysqlWorkbench/Sequel Pro: mysql 客户端工具。

绘图工具

processon: http://processon.com/ 使用了下感觉还不错,基本能满足需求

效率工具番茄工作法:人长期专注的时间是有限的,找到适合自己的最佳番茄钟,并且每个时间段都专注于一件事,每件事分清轻重缓急,要事优先。在休息时间处理喝水、上厕所等杂事,做几个深呼吸给脑瓜子充点氧。《精力管理》

teambiation/trello: todo list 工具。今天做了什么;计划做什么;哪些困难导致工作被阻塞(实在搞不定的记下来及时向同事求助);发现了什么问题;今天学到了什么。(类似于开发日志之类的玩意,每天都是真正做了事情的,并且最好每天都是学到了新东西的)

音乐:选择类似于《阿尔法波高效记忆音乐》《巴洛克学习音乐》等,能帮助你隔绝噪音。反正笔者听歌的时候会想歌词反而会打扰思路,一般就是听这种不怎么让你瞎想的音乐。

复盘。无论是写代码、做需求、改bug等,事后反思总结。分析并且记录耗时的地方和可以改进的地方(怎么让自己涨点记性),对于一些错误或者坑也可以记录成文档当做团队的知识财富。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种流行的编程语言,它可以用于开发各种类型的应用程序,包括运维工具。以下是一些常用的Python开发运维工具: 1. Ansible Ansible是一种自动化运维工具,它使用Python编写。它可以帮助管理者自动化部署、管理和测试IT系统,提高运维效率。Ansible使用SSH协议来远程管理系统,同时它还支持模块化的插件系统,可以集成其他工具。 2. SaltStack SaltStack是一种自动化运维工具,它使用Python编写。它可以帮助管理者自动化部署、管理和测试IT系统,提高运维效率。SaltStack使用ZeroMQ协议来远程管理系统,同时它还支持模块化的插件系统,可以集成其他工具。 3. Fabric Fabric是一种自动化运维工具,它使用Python编写。它可以帮助管理者自动化部署、管理和测试IT系统,提高运维效率。Fabric使用SSH协议来远程管理系统,同时它还支持模块化的插件系统,可以集成其他工具。 4. Paramiko Paramiko是一种SSH库,它使用Python编写。它可以帮助管理者远程管理系统,包括文件传输、命令执行、SFTP等操作。Paramiko支持多种SSH认证方式,包括密码认证、密钥认证等。 5. PyWinRM PyWinRM是一种Windows远程管理库,它使用Python编写。它可以帮助管理者远程管理Windows系统,包括文件传输、命令执行等操作。PyWinRM支持多种认证方式,包括NTLM认证、Kerberos认证等。 6. Nornir Nornir是一种Python编写的自动化运维框架,它可以帮助管理者自动化部署、管理和测试IT系统,提高运维效率。Nornir提供了插件系统,可以集成其他工具,同时它还支持多线程和异步操作。 7. Netmiko Netmiko是一种Python编写的网络设备管理库,它可以帮助管理者远程管理网络设备,包括路由器、交换机等。Netmiko支持多种网络设备厂商和认证方式,包括Cisco、Juniper、SSH、Telnet等。 8. PyAutoGUI PyAutoGUI是一种Python编写的桌面自动化库,它可以帮助管理者自动化桌面操作,包括鼠标移动、键盘输入、窗口操作等。PyAutoGUI支持多平台,包括Windows、Mac、Linux等。 总之,Python是一种广泛应用于运维领域的编程语言,它可以帮助管理者自动化部署、管理和测试IT系统,提高运维效率。以上列举的工具只是其中的一部分,还有许多其他的Python运维工具可供选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值