您的开发环境

../_images/33175624924_7febc46cc4_k_d.jpg

文本编辑器

几乎任何可以编辑纯文本的东西都可以用于编写Python代码;但是,使用更强大的编辑器可能会使您的生活更轻松一些。

vim

VIM是一个文本编辑器,它使用键盘快捷键进行编辑,而不是菜单或图标。VIM编辑器有几个插件和设置来帮助Python开发。如果您只在Python中开发,那么一个好的开始是将缩进和换行的默认设置设置为符合 PEP 8 .在主目录中,打开一个名为 .vimrc 并添加以下行:

set textwidth=79  " lines longer than 79 columns will be broken
set shiftwidth=4  " operation >> indents 4 columns; << unindents 4 columns
set tabstop=4     " a hard TAB displays as 4 columns
set expandtab     " insert spaces when hitting TABs
set softtabstop=4 " insert/delete 4 spaces when hitting a TAB/BACKSPACE
set shiftround    " round indent to multiple of 'shiftwidth'
set autoindent    " align the new line indent with the previous line

使用这些设置,换行符插入79个字符后,缩进设置为每个选项卡4个空格。如果您还将vim用于其他语言,那么有一个名为 indent, 它处理Python源文件的缩进设置。

还有一个方便的语法插件叫做 syntax 对vim 6.1中的语法文件进行了一些改进。

这些插件为您提供了在Python中开发的基本环境。为了最大限度地利用VIM,您应该不断地检查代码的语法错误和PEP8遵从性。幸运的是 pycodestylePyflakes 会帮你的。如果VIM是用 +python 您还可以使用一些非常方便的插件在编辑器中进行这些检查。

对于PEP8检查和Pyflakes,可以安装 vim-flake8. 现在您可以映射函数了 Flake8 任何热键或你想在VIM中的动作。该插件将在屏幕底部显示错误,并提供跳转到相应行的简单方法。每次保存文件时调用这个函数非常方便。为此,请将以下行添加到 .vimrc ::

autocmd BufWritePost *.py call Flake8()

如果你已经在使用 syntastic, 您可以将其设置为在写入时运行pyflakes,并在QuickFix窗口中显示错误和警告。在状态栏中显示状态和警告消息的配置示例如下:

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_auto_loc_list=1
let g:syntastic_loc_list_height=5

python模式

Python-mode 是在VIM中使用Python代码的复杂解决方案。它有:

  • 异步python代码检查 (pylintpyflakespycodestylemccabe )任何组合

  • 用rope进行代码重构和自动完成

  • 快速 Python 式折叠

  • 虚拟环境支持

  • 搜索python文档并运行python代码

  • 汽车 pycodestyle 错误修复

还有更多。

SuperTab

SuperTab 是一个小的VIM插件,通过使用它可以更方便地完成代码 <Tab> 钥匙或任何其他定制钥匙。

Emacs

Emacs是另一个功能强大的文本编辑器。它是完全可编程的(lisp),但它可以是一些正确连接的工作。如果你已经是一个emacs用户,一个好的开始是 Python Programming in Emacs 在emacswiki。

  1. Emacs本身带有python模式。

TextMate

TextMate 将苹果的操作系统方法带入文本编辑器的世界。通过连接Unix基础和GUI,textmate cherry选择了这两个领域中最好的一个,从而使专业的脚本编写者和新手用户都受益。

升华文本

Sublime Text 是一个用于代码、标记和散文的复杂文本编辑器。您会喜欢光滑的用户界面、非凡的功能和令人惊叹的性能。

Sublime Text对编辑python代码有极好的支持,并将python用于插件API。它还有各种各样的插件, some of which 允许在编辑器中进行PEP8检查并编码“Linting”。

原子

Atom 是一个21世纪的可黑客文本编辑器,建立在Atom Shell的基础上,基于我们喜欢的所有编辑器。

Atom是Web本机(HTML、CSS、JS),专注于模块化设计和简单的插件开发。它附带了本地包控制和大量的包。推荐用于Python开发的是 Linter 结合 linter-flake8 .

IDEs

Pycharm/Intellij理念

PyCharm 由JetBrains开发,也以Intellij理念闻名。两者共享相同的代码库,而且Pycharm的大部分功能都可以免费提供给Intellij。 Python Plug-In .Pycharm有两个版本:专业版(免费30天试用版)和社区版(Apache2.0许可证),功能更少。

python(在Visual Studio代码上)

Python for Visual Studio 是的扩展 Visual Studio Code IDE .这是一个免费、轻量级、开源的IDE,支持Mac、Windows和Linux。使用诸如node.js和python之类的开源技术构建,具有诸如intellisense(自动完成)、本地和远程调试、linting等引人注目的功能。

麻省理工学院授权。

Enthought Canopy

Enthought Canopy 是一个面向科学家和工程师的PythonIDE,因为它为数据分析提供了预先安装的库。

Eclipse

用于Python开发的最流行的Eclipse插件是Aptana的 PyDev .

Komodo IDE

Komodo IDE 由ActiveState开发,是Windows、Mac和Linux的商用IDE。 KomodoEdit 是开源的替代方案。

Spyder

Spyder 是专门针对使用科学的Python库(即 SciPy )。它包括与 pyflakes, pylintrope .

Spyder是开源的(免费),提供代码完成、语法突出显示、类和函数浏览器以及对象检查。

WingIDE

WingIDE 是特定于Python的IDE。它在Linux、Windows和Mac上运行(作为一个x11应用程序,这会让一些Mac用户感到沮丧)。

Wingide提供代码完成、语法突出显示、源浏览器、图形调试器以及对版本控制系统的支持。

NINJA-IDE

NINJA-IDE (来自递归的缩写:“Ninja IDE不仅仅是另一个IDE”)是一个跨平台的IDE,专门设计用于构建Python应用程序,并在Linux/x11、Mac OS X和Windows桌面操作系统上运行。这些平台的安装程序可以从网站下载。

Ninja-IDE是一个开源软件(GPLv3许可证),它是用python和qt开发的。源文件可从下载 GitHub .

Eric(Eric python ide)

Eric 是一个功能齐全的python ide,提供源代码自动完成、语法突出显示、版本控制系统支持、python 3支持、集成Web浏览器、python shell、集成调试器和灵活的插件系统。它是用python编写的,基于qt gui工具包,集成了scintila编辑器控件。Eric是一个开源软件项目(GPLv3许可证),拥有十多年的积极开发经验。

解释器工具

虚拟环境

虚拟环境提供了一种隔离项目包依赖关系的强大方法。这意味着您可以使用特定于Python项目的包,而无需在系统范围内安装它们,从而避免潜在的版本冲突。

要开始使用并查看更多信息,请执行以下操作: Virtual Environments 博士学位。

Pyenv

pyenv 是允许同时安装多个版本的python解释器的工具。这就解决了拥有需要不同版本的Python的不同项目的问题。例如,在一个项目中为了兼容性安装python 2.7变得非常容易,同时仍然使用python 3.4作为默认解释器。pyenv不仅限于cpython版本,它还将安装pypypy、anaconda、miniconda、stackless、jython和ironpython解释器。

Pyenv通过填充 shims 包含伪版本的python解释器的目录(以及其他工具,如 pip2to3 )。当系统查找名为 python 从里面看 shims 首先是目录,然后使用假版本,然后将命令传递给pyenv。然后,pyenv根据环境变量计算出应该运行哪个版本的python, .python-version 文件和全局默认值。

pyenv不是管理虚拟环境的工具,但有一个插件 pyenv-virtualenv 它可以自动创建不同的环境,还可以使用现有的pyenv工具根据环境变量或 .python-version 文件夹。

其他工具

IDLE

IDLE 是一个集成的开发环境,它是Python标准发行版的一部分。它完全是用Python编写的,并且使用了TkinterGUI工具包。虽然idle不适合使用python进行全面的开发,但是尝试小的python片段并在python中使用不同的特性是非常有帮助的。

它提供以下功能:

  • python shell窗口(解释器)

  • 为python代码着色的多窗口文本编辑器

  • 最小调试设备

IPython

IPython 提供了一个丰富的工具包,帮助您充分利用交互式使用Python。其主要组成部分有:

  • 强大的python shell(基于终端和qt)

  • 一种基于网络的笔记本,具有相同的核心功能,但支持富媒体、文本、代码、数学表达式和内联绘图。

  • 支持交互式数据可视化和使用GUI工具包

  • 灵活、可嵌入的解释器可加载到您自己的项目中

  • 高级交互式并行计算工具

$ pip install ipython

要下载和安装ipython及其笔记本、qtconsole、测试和其他功能的所有可选依赖项,请执行以下操作:

$ pip install ipython[all]

BPython

bpython 是类Unix操作系统的python解释器的替代接口。它具有以下特点:

  • 内嵌语法突出显示

  • 像自动完成一样阅读行,并在键入时显示建议

  • 任何python函数都需要参数列表

  • “rewind”函数从内存中弹出最后一行代码并重新计算

  • 将输入的代码发送到粘贴箱

  • 将输入的代码保存到文件

  • 自动缩进

  • python 3支持

$ pip install bpython

Python

ptpython 是在 prompt_toolkit 类库。它被认为是 BPython. 功能包括:

  • 语法突出显示

  • 自动完成

  • 多行编辑

  • Emacs和VIM模式

  • 在代码中嵌入repl

  • 语法验证

  • 选项卡页

  • 通过安装ipython,支持与ipython外壳集成 (pip install ipython )和跑步 ptipython .

$ pip install ptpython