【问题标题】:[Python IDE]Call a function defined in the .py file in console[Python IDE]在控制台调用.py文件中定义的函数
【发布时间】:2017-04-01 16:39:16
【问题描述】:

是否可以配置 PyDev-in-Eclipse 或 PyCharm 以便能够在控制台中调用编辑 .py 文件中定义的函数?

比如在编辑器中,有一个test.py打开:

def add(x, y):
    return x+y

然后在控制台中:

>> add(3,4)

我注意到它在 Spyder 中是可能的。但是,默认情况下,在 PyCharm 和 PyDev 中,控制台会返回“No name 'add' defined”错误。 我的问题是:是否可以在 PyCharm 或 PyDev 中实现编辑器和控制台之间的交互?

感谢所有答案和建议。

【问题讨论】:

  • 不是答案,而是建议。如果您在 pycharm 中调试程序,您可以通过单击评估表达式按钮或 alt+F8 来查看函数的输出。或者,您可以将函数复制到控制台中,然后您应该可以调用它。
  • 这不是 Spyder 的情况,除非您使用的是非常旧的版本(2.2.x 或 2.1.x)。在这种情况下,这只是因为您定义了一个名为 add 的函数(它是 Numpy 的一部分)。如果你调用你的函数add_foo,那么你会看到与 PyDev 和 PyCharm 中相同的错误。
  • @CarlosCordoba,是的,你是对的!谢谢 !我很抱歉这个愚蠢的问题。

标签: python eclipse pycharm pydev spyder


【解决方案1】:

在 PyDev 中,使用Ctrl+Alt+Enter 在控制台中创建当前编辑器的运行文件(如果没有选择文本),以便其符号可用于进一步实验(如果没有打开的控制台)。

有关如何在 PyDev 中正确使用交互式控制台的更多详细信息,请参阅:http://www.pydev.org/manual_adv_interactive_console.html

【讨论】:

    【解决方案2】:

    据我所知,在任何 IDE 中,如果您从与文件相同的目录运行,它应该像

    一样简单
    import test
    
    test.add(3,4)
    

    from test import add
    
    add(3,4)
    

    你的最终目标是什么?如果您希望在代码的其他地方分发或使用,python 打包会稍微复杂一些。

    见 - https://docs.python.org/2/tutorial/modules.html

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 1970-01-01
      • 2012-03-10
      • 2011-05-13
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2017-04-02
      相关资源
      最近更新 更多