我在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".
知道这意味着什么吗?
答案 0 :(得分:6)
pydev调试器:无法找到要重新加载的模块:
此消息并不表示您的程序存在问题。这意味着您在Eclipse中保存了源文件,而pydev正在尝试重新加载新代码。当收到CMD_RELOAD_CODE命令时(来自Elcipse?),该消息由processNetCommand()方法中的pysrc/pydevd.py生成。那就是重新加载'命令正在sys.modules列表中查找您的模块(在您的问题中命名为#39; main')。此列表将模块名称映射到模块对象(包括要从中重新加载模块的文件的名称)
因为'主要'在sys.modules字典中找不到它,它会发出该消息。如果它找到了主要的'在sys.modules中,它将从pydevd_reload模块传递给xreload()的sys.modules [' main'],它应该是a。我认为这与pydev在Eclipse / python调试环境中加载模块的方式有关。
结果是python代码的更新没有反映在调试器中。并且您必须终止调试会话并从顶部再次启动它 - 这是在更改源代码时进行调试的正常操作。
我已经将我的模块附加到sys.modules,以便它可以找到要重新加载的模块。你可以做到这一点很整洁,但通常没有多少实际用途。
答案 1 :(得分:0)
我也是Python的新手,但据我所知, main ()模块无法重新加载。我相信这不是一个真正的错误或需要关注的事情。
答案 2 :(得分:0)
转到首选项 - > PyDev - >交互式控制台,取消选中或清除标题为“将控制台连接到调试会话”的复选框?'。