Python与Eclipse: 如何在运行模块后使用交互控制台,并保留模块变量和函数
我们来看看三种情况:
1) 我在Eclipse(pydev)中写了一个Python模块,然后按Ctrl-F11运行它。这个模块运行起来了,但我好像无法控制或访问模块里的变量和函数。
2) 我在Eclipse中把Python解释器设置成了一个外部工具,这样我就可以在Eclipse里运行它。运行得不错,但没有自动补全功能。
3) 我用Python的IDLE(不是Eclipse)打开我的模块,然后按F5(运行)。它在IDLE的窗口中运行,完成后我可以随意使用模块里的所有变量和函数。
所以我有两个问题:
a) 如何在Eclipse的Python解释器中启用自动补全功能?如果不行,有没有其他替代的标准Python解释器?
b) 我想先运行第一种情况,然后能继续在Python解释器中开发和测试,就像在IDLE里那样,但都在Eclipse里。有什么建议吗?
提前谢谢你!
2 个回答
1
不太清楚自从提问以来有什么变化,但现在在调试控制台中可以实现代码补全了(根据 http://pydev.org/manual_adv_debug_console.html 的说法,这是从 PyDev 1.6.0 开始的,而我用的是 PyDev 2.8.1 和 Eclipse 4.3.0)。
- 在代码中设置一个断点,选择一个可执行的语句(比如简单的
print('')
或True
)。你可以通过双击代码左侧的灰色竖条来设置断点。 - 按 F11 以调试模式运行代码。
- Eclipse 可能会提示你切换到调试视图;无论如何,控制台应该是可见的。
- 现在你可以在控制台区域点击,开始进行交互式调试,并且可以使用代码补全功能,即使在出现错误追踪后也是可以的。(对我来说,按 Ctrl+Space 可以实现补全。)
需要注意的是,多行语句只有在用 :
或 /
分隔时才能正常工作:
在 1.6.0 的更新中:每一行的命令都会被评估,除非这一行以空格或制表符开头,或者以
:
或/
结尾(所以,在输入多行语句时,必须遵循这些限制来正确输入)。
0
如果你在Eclipse里以调试模式运行这个程序,你可以设置一个断点,这样就可以查看变量的值等等。不过,你也可以通过观察功能来运行一些随机的Python脚本。