其他人对Python编码使用什么IDE("guis/editors")?
结果
电子表格版本
或者,纯文本:(也可作为屏幕截图提供)
Bracket Matching -. .- Line Numbering
Smart Indent -. | | .- UML Editing / Viewing
Source Control Integration -. | | | | .- Code Folding
Error Markup -. | | | | | | .- Code Templates
Integrated Python Debugging -. | | | | | | | | .- Unit Testing
Multi-Language Support -. | | | | | | | | | | .- GUI Designer (Qt, Eric, etc)
Auto Code Completion -. | | | | | | | | | | | | .- Integrated DB Support
Commercial/Free -. | | | | | | | | | | | | | | .- Refactoring
Cross Platform -. | | | | | | | | | | | | | | | |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Atom |Y |F |Y |Y*|Y |Y |Y |Y |Y |Y | |Y |Y | | | | |*many plugins
Editra |Y |F |Y |Y | | |Y |Y |Y |Y | |Y | | | | | |
Emacs |Y |F |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y | | | |
Eric Ide |Y |F |Y | |Y |Y | |Y | |Y | |Y | |Y | | | |
Geany |Y |F |Y*|Y | | | |Y |Y |Y | |Y | | | | | |*very limited
Gedit |Y |F |Y1|Y | | | |Y |Y |Y | | |Y2| | | | |1with plugin; 2sort of
Idle |Y |F |Y | |Y | | |Y |Y | | | | | | | | |
IntelliJ |Y |CF|Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |
JEdit |Y |F | |Y | | | | |Y |Y | |Y | | | | | |
KDevelop |Y |F |Y*|Y | | |Y |Y |Y |Y | |Y | | | | | |*no type inference
Komodo |Y |CF|Y |Y |Y |Y |Y |Y |Y |Y | |Y |Y |Y | |Y | |
NetBeans* |Y |F |Y |Y |Y | |Y |Y |Y |Y |Y |Y |Y |Y | | |Y |*pre-v7.0
Notepad++ |W |F |Y |Y | |Y*|Y*|Y*|Y |Y | |Y |Y*| | | | |*with plugin
Pfaide |W |C |Y |Y | | | |Y |Y |Y | |Y |Y | | | | |
PIDA |LW|F |Y |Y | | | |Y |Y |Y | |Y | | | | | |VIM based
PTVS |W |F |Y |Y |Y |Y |Y |Y |Y |Y | |Y | | |Y*| |Y |*WPF bsed
PyCharm |Y |CF|Y |Y*|Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |*JavaScript
PyDev (Eclipse) |Y |F |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y | | | |
PyScripter |W |F |Y | |Y |Y | |Y |Y |Y | |Y |Y |Y | | | |
PythonWin |W |F |Y | |Y | | |Y |Y | | |Y | | | | | |
SciTE |Y |F1| |Y | |Y | |Y |Y |Y | |Y |Y | | | | |1Mac version is
ScriptDev |W |C |Y |Y |Y |Y | |Y |Y |Y | |Y |Y | | | | | commercial
Spyder |Y |F |Y | |Y |Y | |Y |Y |Y | | | | | | | |
Sublime Text |Y |CF|Y |Y | |Y |Y |Y |Y |Y | |Y |Y |Y*| | | |extensible w/Python,
TextMate |M |F | |Y | | |Y |Y |Y |Y | |Y |Y | | | | | *PythonTestRunner
UliPad |Y |F |Y |Y |Y | | |Y |Y | | | |Y |Y | | | |
Vim |Y |F |Y |Y |Y |Y |Y |Y |Y |Y | |Y |Y |Y | | | |
Visual Studio |W |CF|Y |Y |Y |Y |Y |Y |Y |Y |? |Y |? |? |Y |? |Y |
Visual Studio Code|Y |F |Y |Y |Y |Y |Y |Y |Y |Y |? |Y |? |? |? |? |Y |uses plugins
WingIde |Y |C |Y |Y*|Y |Y |Y |Y |Y |Y | |Y |Y |Y | | | |*support for C
Zeus |W |C | | | | |Y |Y |Y |Y | |Y |Y | | | | |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Cross Platform -' | | | | | | | | | | | | | | | |
Commercial/Free -' | | | | | | | | | | | | | | '- Refactoring
Auto Code Completion -' | | | | | | | | | | | | '- Integrated DB Support
Multi-Language Support -' | | | | | | | | | | '- GUI Designer (Qt, Eric, etc)
Integrated Python Debugging -' | | | | | | | | '- Unit Testing
Error Markup -' | | | | | | '- Code Templates
Source Control Integration -' | | | | '- Code Folding
Smart Indent -' | | '- UML Editing / Viewing
Bracket Matching -' '- Line Numbering
首字母缩写词:
L - Linux
W - Windows
M - Mac
C - Commercial
F - Free
CF - Commercial with Free limited edition
? - To be confirmed
我没有提到像语法突出显示这样的基础知识,因为我希望它们是默认的。
这只是一个反映你的反馈和评论的清单,我不提倡使用这些工具。我会不断更新这个列表,因为你不断地张贴你的答案。
你能帮我把上述编辑器的功能添加到列表中吗(如自动完成、调试等)?
对于这个问题,我们有一个全面的wiki页面:https://wiki.python.org/moin/integrateddevelopmentenvironments
提交对电子表格的编辑
在我的智能手机浏览器上,此表完全无法读取。
主持人注意:如果您不喜欢表格的格式,请随意将表格编辑成您认为更具视觉吸引力的格式。wiki锁将继续关注这个问题(否则,添加重复现有答案的新答案的诱惑太大了);但是每个人都可以建议编辑以改进文章。如果你不愿意这样做,那么你也不会愿意帮助保持这个问题的最新状态。
从8.0.2开始,NetBeans不支持代码完成
您可以添加树冠。很不错。
你能做一个响应式的版本让我可以在我的黑莓手机上阅读吗?
@exitos您可以随时建议编辑以获得更好的格式。使用"建议编辑"或"编辑"按钮执行此操作。成为你希望看到的改变。
我刚刚查看了Spyder(Anaconda免费提供)和Emacs的条目,我可以证明它们是最新的。
"这是一个实验。C++用户要注意保持他们的列表被修剪和更新。这真的是唯一可行的方法。"-meta.stackoverflow.com/a/276552/541136那么这些IDE中的一些已经失效,需要删除吗?
我用崇高的水蟒。它完成了Python Pep'ing所需的大部分工作。在目前的环境下,Pycharm的速度很慢。另一方面,升华速度相对较快。它有灵活的定制功能。该死的widget.github.io/anaconda
了解这些IDE中的哪一个可以打开它们内部的Python交互shell也很好。
开源链接当前已失效
对于那些为python寻找一个好的数据分析IDE的人来说,rodeo刚刚更新了他们的尝试,它基本上复制了rstudio的外观和感觉(r-bloggers.com/rstudio clone for python rodeo)
@ohadr eclipse还拥有自己的python-support-specialigen.blogspot.com/2016/04/…
代码完成的"y"在IMO中有点误导性。我在列表中尝试过的唯一一个真正代码完成的IDE是pycharm。它们中的大多数都有文字处理风格的代码完成,在这里它只匹配您以前编写的代码,而不是实际尝试计算出变量的类型。我的意思是,这是可以理解的,因为python的动态类型使得它非常难以完成,但是我们不应该自欺欺人地认为所有这些IDE实际上都有真正的代码完成。
@Timmm我喜欢我的自动完成,简单、灵活、快速,只有记事本++提供。我试过的大多数IDE都只有通话提示。
"CeDyMurman"大多数IDE可以对静态类型语言(Java、C、C、C++)进行快速准确的代码完成。对于像python这样的动态类型语言来说,这要困难得多,但我还是宁愿拥有它。
@timmm dir()和help()列出了mysteryvar的所有属性。比起调试程序,我更喜欢在线文档。
@ceestimmerman是的,你可以使用在线文档,但是速度要慢得多。我不知道你为什么喜欢慢法。顺便说一句,我刚刚再次尝试了科莫多的编辑(上次尝试大约5年前)。它现在有相当合理的代码完成,而且非常快-值得一看。
@TimmmGoogle有例子,比管理和触发断点更快。Komodo编辑仍然缺少在同一个文件中重用变量名的更常见的情况,甚至可能会忽略注释中的那些情况。
你可以做一张降价表。
重构(例如跨文件重命名变量或函数)怎么样?IMO,比其他大多数表条目更重要。
电子表格和文本版本不同:您需要向pycharm添加代码模板。
Emacs以可安装包的形式提供了一些数据库支持。但从未尝试过。
kdevelop(使用kdev python)集成了PDB调试、代码模板和真正的(类型感知)自动完成功能。
我想要的最重要的特性(类型推断)不在这个列表中…
链接出了什么问题?当我单击图像时,表有十几行,而预览似乎有三十行…
电子表格SEM丢失了很多条目。正如@rightleg所指出的,这张图片显示的条目比目前多了很多,包括我现在使用的geany。搬迁的原因是什么?
这些真的有什么好处吗?我还在找一个我喜欢的python-ide。Atom不做真正的上下文相关的自动更正,会吃掉大量的RAM,而且它的Emacs键绑定非常糟糕。Pycharm相当不错,但是使用了大量的内存,而且完整的功能集很昂贵(&163;180是一年的许可证!).eclipse做了几乎所有的事情,但又有一个巨大的内存占用。Emacs似乎做了很多事情,但它的配置是如此的拜占庭式,以至于我放弃了(而且它没有一个像样的项目树显示)。NetBeans 8.2似乎不支持Python。
实际上,我又给了Emacs/Elpy一次机会。它并不完美(或者可能我还没有完全配置好),但它已经超越了任何免费选项。
@Mehrdad类型推理用于调用提示和自动完成。
@ceestimmerman:我不清楚什么是自动完成。我的文本编辑器只是将它在当前文件中找到的任何单词显示为自动完成条目;它非常愚蠢,不做任何类型的推断。另外,当我将鼠标悬停在Visual Studio中的变量上时,它会显示推断出的实际类型。这比简单列出猜测的方法更重要。
@Mehrdad文本编辑器不理解变量类型。尝试使用Visual Studio代码或任何其他有效的Python IDE,如pyscripter。
@据我所见,窗户10上没有。您可以自己更新表格。
我喜欢使用pycharm https://www.jetbrains.com/pycharm
@首席执行官:+1。很明显,根据类/变量的当前内容/类型,有不同程度的自动完成,从重复现有单词到完整的离线语法分析,以及完整的在线分析。另外,一些工具需要您输入函数/属性/类的开头,而其他工具则可以调用,然后键入任何部分都可以。我发现后面的工具非常有用(例如:say class foo has method foo bar(),在jupyter笔记本中,您当前需要执行foo.fo,而在其他工具中,您可以执行foo.bar,它将找到foo.foobar())