在Eclipse中的PyDev交互式Python Shell

8

我一直在使用Wing IDE进行Python编程,现在想要转到Eclipse的PyDev。

在Wing IDE中运行代码后,执行完成后控制台会立即返回交互式shell,我可以继续测试,但我不知道如何在Eclipse中实现这个功能。我不确定我是否正确描述了我的问题,因此我将使用一个示例:

假设我有一个简单的源代码,看起来像这样(例如test.py):

print("hello")

当我在Wing IDE中点击那个绿色箭头运行时,执行后控制台会显示如下内容:
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)]
Type "help", "copyright", "credits" or "license" for more information.
[evaluate untitled-1.py]
hello
>>>>

我可以在命令行上继续执行任何操作,它会知道我的代码(定义的函数等)。 但是当我在Eclipse中做同样的事情时,控制台看起来只是这样:

hello

我需要点击“删除所有已终止的启动”按钮才能回到Shell界面。
在Eclipse中可以实现吗?
2个回答

14
你需要使用PyDev中的交互式控制台(而不是运行时的常规输出)。
使用方法:按下 Ctrl+Alt+Enter
请注意,如果您正在进行调试会话,则还可以使用调试会话控制台与程序进行交互。
也可以从控制台视图中的UI创建,如下所示:

[Create PyDev interactive console [1]


1
哦,我的天啊,我一直在寻找这个东西。谢谢! - Joohwan
1
只有几个问题..如果不使用Ctrl+Alt+Enter命令,我该如何在交互式控制台中运行代码? - Joohwan
在Mac上,它是cmd + alt + enter。但是,我如何继续将内容发送到控制台或检查dir()等?我的意思是,我不能只说运行,因为那会打开一个单独的进程并执行,然后终止脚本。 - Matt Bannert
1
有没有在菜单中或通过图标找到这个选项的方法? 我只是好奇,出于参考的目的感兴趣。 - Tango
我认为这并没有回答问题。在PyDev中,Ctrl+Alt+Enter的行为与在Wing IDE中运行脚本不同。 - Michael H.
嗯...应该是同样的事情(尽管您需要先打开一个shell -- 可以使用Ctrl+Alt+Enter来创建shell,然后再使用第二个Ctrl+Alt+Enter在shell中运行文件,之后您应该能够在shell中检查您的对象)-- 请查看http://www.pydev.org/manual_adv_interactive_console.html获取更多详细信息(在PyDev中也可以使用F2逐行发送内容)。 - Fabio Zadrozny

2
据我所知,在Eclipse中,我们可以打开多个特定类型的控制台。每当我们在PyDev中运行脚本时,它会打开一个新的控制台,并将脚本的输出(包括错误输出)打印到该控制台中。但是,这只是一个新的控制台,被添加到已打开控制台列表中。因此,您可以通过使用控制台视图中的“显示选定控制台”选项返回先前打开的控制台(参见此处以获取所有可用控制台选项列表)。
这意味着什么?
您可以使用Eclipse控制台视图中的“打开控制台”选项打开新的Python解释器控制台。您可以在该控制台中定义自己的方法并与解释器进行交互。现在,您可以运行在PyDev编辑器中打开的Python脚本。新的控制台会打开,您可以在其中看到脚本的输出(也包括错误输出)。现在,如果您想返回交互式控制台,只需从“显示控制台”选项中选择之前打开的Python解释器控制台即可。
就个人而言,我喜欢这种设计,因为脚本的输出不会与Python控制台上的实验混杂在一起。这反过来又导致了对各种Python环境中正在发生的情况有一个简明、清晰和简洁的视图。
希望这些信息能够帮助到您。

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