其他重要工具
虽然我们讨论了基本的Python版本,虚拟机和包管理,但在日常工作中我们仍然还需要一些专用的工具来完成任务。
尽管我不能把每一个工具的细节都讲到,然而我还是尽量给你提供基本的概述。
编辑器
对于Python编程有大量很优秀的编译器。对于我个人而言,我更倾向于Vim,但这里我并不想挑起一场 编辑器战争 。
有大量支持Python的编辑器,例如:Vim/Gvim, Emacs, GNOME上的GEdit,
KDE上的Kate, Scribes, ActiveState的Komodo Edit/IDE, WingWare的Wing IDE,
JetBrains上PyCharm, Eclipse的PyDEV插件。此外,还有其他,但这些似乎是最流行的。你可以任意选择最适合你的。
Pyflakes:源码检测工具
Pyflakes是一个检查Python源码并通过文本分析找出错误的工具。
它可以检测出语法错误,和(部分)逻辑错误,导入但未使用的模块,只使用一次的变量,等等。
你可以通过 pip
安装:
- $ pip install pyflakes
在命令行调用它,参数填源文件名即可,如下所示:
- $ pyflakes filename.py
Pyflakes也可已被集成进编辑器。这是它在我的vim中的样子。注意红波浪线:
请自行前往Stack Overflow找出如何将Pyflakes添加到编辑器。
Requests:一个HTTP库
Requests是一个将处理HTTP请求变得轻而易举的库。
同样是通过 pip
安装它:
- $ pip install requests
下面是一个例子:
- >>> import requests
- >>> r = requests.get('https://api.github.com', auth=('user', 'pass'))
- >>> r.status_code
- 204
- >>> r.headers['content-type']
- 'application/json'
- >>> r.content
- ...
Flask:一个web开发的微框架
Flask是一个基于Werkzeug和Jinja2的微框架。
通过 pip
安装:
- $ pip install Flask
这是一个简单的例子:
- from flask import Flask
- app = Flask(__name__)
- @app.route("/")
- def hello():
- return "Hello World!"
- if __name__ == "__main__":
- app.run()
可以这样运行它:
- $ python hello.py
- * Running on http://localhost:5000/
Django:一个全栈式web开发框架
Django是一个全栈式web开发框架。它提供了ORM,HTTP库,表单处理,XSS过滤,模板和别的特性。
通过 pip
安装:
- $ pip install Django
去 Django官网 查找更多信息。
Fabric:简化SSH的使用并部署系统管理员任务
Fabric是一个命令行工具用来简化程序对于SSH的使用或运行系统管理员任务。
它提供了一个基本套件可以执行本地或远程shell命令(正常或通过sudo),上传/下载文件,以及其他辅助功能,如提示用户输入,或中止执行的操作。
可以通过 pip
安装:
- $ pip install fabric
这是一个通过Fabric写的任务:
- from fabric.api import run
- def host_type():
- run('uname -s')
你可以在一台或多台服务器上执行这个命令:
- $ fab -H localhost host_type
- [localhost] run: uname -s
- [localhost] out: Linux
- Done.
- Disconnecting from localhost... done.
SciPy:一个科学计算库
如果你的工作涉及科学和数值计算,SciPy的是您不可或缺的重要工具。
SciPy官网这样介绍:
SciPy的(读做“Sigh Pie”)是数学、科学和工程方面的开源库。
这也是Python在数值计算方面非常优秀的一个库。
SciPy的库依赖于NumPy,它提供了方便快速的N维矩阵操作。
SciPy库与NumPy中的矩阵兼容,并提供了许多用户友好且高效率的数值程序,如数值的积分和优化。
同时,他们运行在所有流行的操作系统上,安装快速,并且都是免费的。NumPy和SciPy易于使用,但功能强大,足以满足一些世界领先的科学家和工程师。
如果您需要在电脑上处理数字、显示或公布结果,试试SciPy吧!
PEP 8:Python风格指南
虽然它本身不是一个软件工具,但它却是Python一个重要的资源。
PEP 8是一个描述Python发行版中基本库的编码约定的文档。
这份文档的希望能够约定全世界Python开发者的代码布局,变量、类、函数的命名规则。
请确保你了解它,并遵循它。他将在未来的Python使用中带来相当多的益处。
强大的Python标准库
Python的标准库涵盖非常广泛,提供各种各样的功能。
该库包含的内置模块(使用C编写的)提供了访问系统的功能,如文件I/O,
并且存在大量Python编写的模块,他们提供标准化的解决方案去解决日常的编程中出现的许多问题。
这些模块都明确地抽离平台的细节,提供平台无关的API,旨在加强Python程序的跨平台可移植性。