哪个 Python IDE 可以逐行运行我的脚本?

39

我不会自称为程序员,但最近开始学习Python并且很喜欢它。

到目前为止,我主要将其用于小任务 - 脚本编写、文本处理、KML生成和ArcGIS。

根据我使用R的经验(使用优秀的Notepad++和NppToR组合),我通常尝试逐行(或逐区域)处理我的脚本,以便理解脚本的每个步骤...并实时检查结果。

我的问题是:是否有一个Windows的IDE(或编辑器)可以让您评估单行Python脚本?

已经 看到 相当 多关于Python IDE的讨论...但迄今为止还没有遇到这个特定的问题。

谢谢帮助!


3
它被称为“读取-执行-输出循环”(REPL),这就是Python工作的方式。您输入代码行,它会执行该代码行。如果您厌倦了输入,也可以从脚本中复制并粘贴。既然您已经拥有了这个,您还需要什么呢? - S.Lott
3
我知道这点。复制/粘贴越来越大的脚本可能相当乏味。 - radek
逐行执行“大型”脚本可能相当乏味。 - S.Lott
@S.Lott:没问题 - 这就是为什么我正在寻找解决方案。最近的一些例子看起来更或多或少是这样的:从数据库中获取数据[在我的慢机器上需要一段时间,而且我只需要做一次],根据查询重新组织/聚合/计算数据(这里的“运行行”对我非常有用 - 我还在学习..并犯错误..所以想在下一步之前确保结果),尝试以不同的方式在KML中表示数据(这里的“运行行”是福音)。 - radek
16个回答

16
如果你喜欢R的布局,我强烈建议尝试一下Spyder。如果你在使用Windows系统,可以试试Python(x,y),它是一个套装包含多个编辑器以及很多通用的额外模块,如scipy和numpy。

太棒了。从我到目前为止尝试的情况来看,Spyder看起来非常出色。Ctrl + F9执行代码的选择。Python(x,y)捆绑包带有所有其他好东西,可以开始学习,包括Eclipse,也被其他人推荐。谢谢! - radek
1
使用Spyder 2.3.5.2和Windows 7操作系统,键盘快捷键似乎是F9 - Niko Pasanen
3
如何在类似 R 一样运行当前行并使光标移到下一行? - Heisenberg
实际上,在 Mac 上,功能键 F9(根据您的键盘设置,您可能需要按 fn + F9)可以使用。对于在 Mac 上使用 _Spyder3_,如果我使用 F9,则光标所在的行将被运行,并且光标将像在 R 中一样移动到下一行。不确定 Windows 是否也是如此。 - David C.

7

2
Eclipse与PyDev是一个很好的选择。在调试模式下通过断点轻松地逐行调试代码,在函数调用中进出、在循环中跳转等都可以方便地实现。它还包括代码自动完成、导入支持、语法分析和其他优秀功能。我曾在多个Linux发行版以及Windows 32位和64位上组合使用,没有遇到任何困难。 - g.d.d.c
感谢phasetwenty。PyDev似乎经常排名第一[https://dev59.com/x3VD5IYBdhLWcg3wHnyd]。也许是时候试试它了。 - radek

5

虽然不是一个集成开发环境(IDE),但你可以使用pdb来调试和逐行执行Python代码。我知道Emacs内置支持它,但对于其他在Windows上运行的编辑器(或IDE),了解得不是很多。


谢谢Nathon。我已经听到很多关于Emacs的好评了,特别是它对R语言提供了非常好的支持。我想我得试试它。 - radek

5
如果您使用的是Windows系统,可以尝试使用Pyscripter——它提供了全面的逐步调试功能,可以让您在代码每一步检查变量状态。

4

Rodeo 似乎是 IDE 市场上的新竞争者,文档 表明可以运行代码。我必须承认它看起来和表现得相当不错!

enter image description here


4

PyCharm 是 JetBrains 公司开发的一款非常好用的集成开发环境,其中包含了一个非常不错的调试器,可以帮助你逐步执行代码。

Django 和控制台已经内置在其中。


2
Pycharm还具有“在控制台中执行选择”功能,如果选择了任何内容,则运行选择,如果没有选择任何内容,则运行当前行,就像Rstudio中的Ctrl + r一样。 我相信默认的键映射是Alt + Shift + E,但可以更改为例如Ctrl + r。 - Rasmus Larsen

3

WingIDE,我已经成功使用它一年多了,非常满意。


你知道这个快捷键吗? - siaosing

3

我大多数在Windows上进行Python开发时使用Notepad ++,而为了调试我使用Winpdb。它是一个跨平台的基于GUI的调试器。您可以在Notepad++中设置一个快捷键来启动当前脚本上的调试器:

要做到这一点,请进入菜单中的“运行”->“运行...”,并输入以下内容,确保路径指向您的winpdb_.pyw文件:

C:\python26\Scripts\winpdb_.pyw "$(FULL_CURRENT_PATH)"

然后选择“保存…”,并选择您希望用来启动调试器的快捷方式。

附:您也可以使用以下字符串设置一个快捷方式,以类似的方式执行您的Python脚本:

C:\python26\python.exe "$(FULL_CURRENT_PATH)"

谢谢offsound。Notepad++通常也是我的首选。特别是你可以很好地将它与R和Stata联系起来,这是我大部分时间工作的地方。基本的Python编辑也很容易。虽然我没有听说过Winpdb,但我会去查一下的。 - radek

2

我会选择EMACS。

如果你想要一个逐行运行代码的功能(或者如果你已经选中了一个区域,则可以运行该区域),请尝试将以下内容添加到你的.emacs文件中(我正在使用python.el和Pymacs):

;; send current line to *Python
(defun my-python-send-region (&optional beg end)
(interactive)
(let ((beg (cond (beg beg)
               ((region-active-p)
                (region-beginning))
               (t (line-beginning-position))))
    (end (cond (end end)
               ((region-active-p)
                (copy-marker (region-end)))
               (t (line-end-position)))))
(python-shell-send-region beg end)))

(add-hook 'python-mode-hook
      '(lambda()
         (local-set-key [(shift return)] 'my-python-send-region)))

我已将其绑定到[shift-Return]。这是从这里借来的。运行每一行.R文件也有类似的快捷键,在这里。我发现它们都很方便。

1
谢谢你,我还在你的let块末尾添加了(python-nav-forward-statement)以跳转到下一行运行。 - joefromct

2
即将发布的RStudio 1.2 版本非常好,你一定要试着用它来写一些Python代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接