【问题标题】:Pydev debugger: Unable to find module to reloadPydev 调试器:找不到要重新加载的模块
【发布时间】:2015-01-14 17:39:25
【问题描述】:

我在 Eclipse 中写了一个 python 模块并命名为main.py

代码:

if __name__ == "__main__":  
    inFile = open ("input.txt", 'r')
    inputData = inFile.readlines()

    print 'all done :)'

好吧,它运行了,但是每次我保存项目时,我都会在控制台中收到这个错误:

pydev debugger: Unable to find module to reload: "main".

知道这意味着什么吗?

【问题讨论】:

    标签: python eclipse pydev


    【解决方案1】:

    pydev 调试器:找不到要重新加载的模块:

    该消息并不表示您的程序有问题。这意味着您在 Eclipse 中保存了一个源文件,而 pydev 正在尝试重新加载新代码。当收到 CMD_RELOAD_CODE 命令(来自 Elcipse?)时,该消息由 processNetCommand() 方法中的pysrc/pydevd.py 生成。该“重新加载”命令正在 sys.modules 列表中查找您的模块(在您的问题中名为“main”)。此列表将模块名称映射到模块对象(其中包括要从中重新加载模块的文件的名称)

    因为在 sys.modules 字典中找不到“main”,所以它会发出该消息。如果它在 sys.modules 中找到了“main”,它会从 pydevd_reload 模块将 sys.modules['main'] (应该是 a )传递给 xreload()。我认为这与 pydev 在 Eclipse/python 调试环境中加载模块的方式有关。

    结果是您的 python 代码的更新不会反映在调试器中。并且您必须终止调试会话并从顶部重新启动它——当您更改源代码时,这是一种正常的调试操作。

    我已经尝试将我的模块附加到 sys.modules 以便它可以找到要重新加载的模块。你可以这样做很好,但通常没有太多实际用途。

    【讨论】:

      【解决方案2】:

      我也是 Python 新手,但据我了解,ma​​in() 模块无法重新加载。我相信这不是一个真正的错误或值得关注的事情。

      【讨论】:

        【解决方案3】:

        转到首选项 -> PyDev -> 交互式控制台,取消选中或清除标题为“将控制台连接到调试会话?”的复选框。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-01
          • 2019-06-05
          • 2018-03-10
          • 2019-11-19
          • 2016-12-18
          • 2016-08-09
          • 2019-05-24
          • 2020-01-08
          相关资源
          最近更新 更多