工欲善其事,必先利其器(装逼工具)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等,事后反思总结。分析并且记录耗时的地方和可以改进的地方(怎么让自己涨点记性),对于一些错误或者坑也可以记录成文档当做团队的知识财富。

python开发web运维工具_Python web 开发工具箱相关推荐

  1. python开发web运维工具_【实战小项目】python开发自动化运维工具--批量操作主机...

    有很多开源自动化运维工具都很好用如ansible/salt stack等,完全不用重复造轮子.只不过,很多运维同学学习Python之后,苦于没小项目训练,本篇演示用Python写一个批量操作主机的工具 ...

  2. 用python开发的运维管理系统_python运维开发常用模块(一)psutil

    1.模块简介 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻 松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网 络等)信息.它主 ...

  3. python开发的运维工具_8种常用的Python工具

    Python是一种开源的编程语言,可用于Web编程.数据科学.人工智能以及许多科学应用.学习Python可以让程序员专注于解决问题,而不是语法.由于Python相对较小,且拥有各式各样的工具,因此比J ...

  4. 用php做运维,使用PHP开发linux运维工具

    PHP一般情况下是无法直接开发linux运维的,市面上的linux运维工具大多使用python语言开发,如宝塔面板. 虽然PHP也有system,exec等执行系统命令的方法,但这些方法一般是在PHP ...

  5. python实现自动化运维项目_Python自动化运维项目开发最佳实战

    下载地址:五号服务器---VIP资料下载七区\VIP专题教程二区 游客,如果您要查看本帖隐藏内容请回复 Python 自动化运维项目开发最佳实战 这个远比什么老男孩的python好的多 2017-1- ...

  6. 用python开发的运维管理系统下载_GitHub - jiegangwu/OPMS_v3: 基于 Python 3.5 + Django 2.0 开发的运维管理系统...

    OPMS_v3 说明 由于之前的 OPMS (姑且称作 v2 版本,因为 v1 版本太简单了就没分享出来)通用性其实不大,在换了新公司之后开始着手 OPMS v3 的开发 其实功能大致相同,这一次主要 ...

  7. 运维学python用不上_不会Python开发的运维终将被淘汰?

    简介 Python 语言是一种面向对象.直译式计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明.Python 语法简捷而清晰,具有丰富和强大的类库,具有可扩展性和可嵌入 ...

  8. 不会Python开发的运维终将被淘汰?

    Python语言是一种面向对象.直译式计算机程序设计语言,由Guido van Rossum于1989年底发明.Python语法简捷而清晰,具有丰富和强大的类库,具有可扩展性和可嵌入性,是现代比较流行 ...

  9. python怎么写运维脚本_python运维脚本实例

    file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...

最新文章

  1. java string转number_Java运算符知识点总结
  2. mwArray与C++接口
  3. 从IC设计来看Trace32的用途
  4. 如何在Python中针对一个值检查多个变量?
  5. 一文读懂Java泛型中的通配符 ?
  6. 零基础应该先学习 java、php、前端 还是 python?
  7. mysql集群参数讲解_Mysql集群讲解(一)
  8. linux input输入子系统分析《二》:s3c2440的ADC简单驱动实例分析
  9. SpringBoot 集成 Jsp、Thymeleaf 模板引擎 + Thymeleaf 基本使用
  10. (干货分享)农商行中商业智能建设的整体思路与架构
  11. 计算机二级C语言题库
  12. 硬笔行书字帖3500常用字_练字的字帖怎么选择?(硬笔)
  13. 营养电子秤控制板方案
  14. error Link 2005
  15. 360浏览器显示服务器拒绝连接,360浏览器提示“您与此网站之间建立的连接不安全完美解决方法...
  16. 万科副总裁毛大庆在建策沙龙上关于楼市走向的发言
  17. vue插槽,分分钟理解
  18. poi-tl填充动态word表格数据
  19. axure中备注线_除了香烟拆封线,防伪线的应用行业还有哪些?
  20. 使用LSTM进行预测,有一对一、多对一、多对多的预测,其中有一些疑问一起探讨(一)

热门文章

  1. Mockito对final类型和方法的支持(三):免配置的inline mock making
  2. 漫游Kafka之过期数据清理
  3. linux基础(1)-yum源配置
  4. 《python核心编程》读书笔记--第15章 正则表达式
  5. php SqlServer 中文汉字乱码
  6. ionic ----$ionicPlatform 操作返回按钮
  7. Java之JVM调优案例分析与实战(1) - 高性能硬件上的程序部署策略
  8. 实例教程七:在SQLite中使用事务
  9. SQL语句,统计一段时间内有多少个工作日
  10. Windows NT体系结构