您的开发环境¶

文本编辑器¶
几乎任何可以编辑纯文本的东西都可以用于编写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遵从性。幸运的是 pycodestyle 和 Pyflakes 会帮你的。如果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模式 是在VIM中使用Python代码的复杂解决方案。它有:
异步python代码检查 (
pylint
,pyflakes
,pycodestyle
,mccabe
)任何组合用Rope进行代码重构和自动完成
快速 Python 式折叠
虚拟环境支持
搜索Python文档并运行Python代码
汽车 pycodestyle 错误修复
还有更多。
SuperTab¶
SuperTab 是一个小的VIM插件,通过使用它可以更方便地完成代码 <Tab>
钥匙或任何其他定制钥匙。
电子制造商¶
Emacs是另一个功能强大的文本编辑器。它是完全可编程的(lisp),但它可以是一些正确连接的工作。如果你已经是一个emacs用户,一个好的开始是 Python Programming in Emacs 在emacswiki。
Emacs本身带有python模式。
TextMate¶
TextMate 将苹果的操作系统方法带入文本编辑器的世界。通过连接Unix基础和GUI,TextMate cherry选择了这两个领域中最好的一个,从而使专业的脚本编写者和新手用户都受益。
Sublime Text¶
Sublime Text 是一个用于代码、标记和散文的复杂文本编辑器。您会喜欢光滑的用户界面、非凡的功能和令人惊叹的性能。
Sublime Text对编辑python代码有极好的支持,并将python用于插件API。它还有各种各样的插件, 其中一些 允许在编辑器中进行PEP8检查并编码“Linting”。
Atom¶
Atom 是一个21世纪的可黑客文本编辑器,建立在Atom Shell的基础上,基于我们喜欢的所有编辑器。
Atom是Web本机(HTML、CSS、JS),专注于模块化设计和简单的插件开发。它附带了本地包控制和大量的包。推荐用于Python开发的是 Linter 结合 linter-flake8.
Python(在Visual Studio代码上)¶
Python for Visual Studio 是的扩展 Visual Studio Code . 这是一个免费的、轻量级的、开源的代码编辑器,支持Mac、Windows和Linux。使用诸如节点.js以及Python,具有诸如Intellisense(自动完成)、本地和远程调试、linting等引人注目的特性。
麻省理工学院授权。
IDEs¶
Pycharm/Intellij理念¶
PyCharm 由JetBrains开发,也以Intellij理念闻名。两者共享相同的代码库,而且Pycharm的大部分功能都可以免费提供给Intellij。 Python Plug-In。Pycharm有两个版本:专业版(免费30天试用版)和社区版(Apache2.0许可证),功能更少。
Enthought Canopy¶
Enthought Canopy 是一个面向科学家和工程师的PythonIDE,因为它为数据分析提供了预先安装的库。
日食¶
用于Python开发的最流行的Eclipse插件是Aptana的 PyDev。
Komodo IDE¶
Komodo IDE 由ActiveState开发,是Windows、Mac和Linux的商用IDE。 KomodoEdit 是开源的替代方案。
Spyder¶
Spyder 是专门针对使用科学的Python库(即 SciPy )。它包括与 pyflakes, pylint 和 rope。
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许可证),拥有十多年的积极开发经验。
穆¶
Mu 是一个最简单的pythonide,它可以在本地运行python3代码,也可以将代码部署到BBC微型:位和运行circuitphony的Adafruit板。
mu面向初学者,它包括一个Python3解释器,很容易安装在Windows、OS/X和Linux上。它在覆盆子皮上运行得很好。
gitter上有一个积极的支持社区。
解释器工具¶
虚拟环境¶
虚拟环境提供了一种隔离项目包依赖关系的强大方法。这意味着您可以使用特定于Python项目的包,而无需在系统范围内安装它们,从而避免潜在的版本冲突。
要开始使用并查看更多信息,请执行以下操作: Virtual Environments 博士学位。
pyenv公司¶
pyenv 是允许同时安装多个版本的python解释器的工具。这就解决了拥有需要不同版本的Python的不同项目的问题。例如,在一个项目中为了兼容性安装python 2.7变得非常容易,同时仍然使用python 3.4作为默认解释器。pyenv不仅限于cpython版本,它还将安装pypypy、anaconda、miniconda、stackless、jython和ironpython解释器。
Pyenv通过填充 shims
包含伪版本的python解释器的目录(以及其他工具,如 pip
和 2to3
)。当系统查找名为 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
ptpython¶
ptpython 是在 prompt_toolkit 类库。它被认为是 BPython。功能包括:
语法突出显示
自动完成
多行编辑
Emacs和VIM模式
在代码中嵌入repl
语法验证
选项卡页
通过安装ipython,支持与ipythonShell集成 (
pip install ipython
)和跑步ptipython
。
$ pip install ptpython