Python与Eclipse: 如何在运行模块后使用交互控制台,并保留模块变量和函数

0 投票
2 回答
2495 浏览
提问于 2025-04-15 21:36

我们来看看三种情况:

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脚本。

撰写回答