我现在已经和python一起搞了大约一个月了,有些事情困扰着我。 我使用python(x,y)工具包,它附带了整洁的Spyder IDE。 我的问题涉及Spyder的UMD(用户模块删除)。
我在互联网上找到了this图形模块,这有助于人们在python脚本中做一些简单的图形内容(据我所知)。
这不像我被卡住了,但当我执行下面的代码时:
import pylab as p
import graphics as g
window = g.GraphWin("tryout", 600, 600)
window.close()
print p.sqrt(4)
输出结果为:
>>>runfile(r'C:\some\folders\tryout.py', wdir=r'C:\some\folders')
>>>UMD has deleted: graphics
>>>2.0
第1行显然是o.k.第3行也是如此,但我没有得到第2行。 此外,激发的窗口应该闪烁进出屏幕。 第2行似乎没有任何伤害,我可以完全重新运行该文件,但我想知道它来自何处。
每次运行脚本时,AFAIK UMD都会强制解释器重新加载模块。 显示的消息是否表示“它”已删除对模块的引用,因为它已不再使用,或者是否为其他内容?或者它是否意味着某些事情是错误的,并且如果我之后添加更多内容会“伤害”我的代码吗?
注意:第一个问题,所以请评论它的废话,以帮助我提高我的要求技巧。
编辑:我尝试在测试线print p.sqrt(4)
周围转移,发现我把它放在哪里并不重要。如果它是导入模块后的第一行,它仍会在显示sqrt(4)
答案 0 :(得分:43)
简答:
也许已删除并不是您提及的消息中最好的词。它应该重新加载,这是UMD真正在做的事情,因为它不那么令人困惑。我将在我们的问题跟踪器中填写此问题。
答案很长:
UMD不仅会重新加载您的脚本,还会重新加载它所依赖的所有本地模块。通过 local ,我指的是Python安装之外的模块以及您具有写权限的模块。
这个想法是在您的脚本旁边,也许您已经开发了一个辅助功能库来配合它。因此,您最有可能也想重新加载该库,以便在运行时反映对它的任何更改。
我知道这不是你的情况,所以如果你想删除那条消息,你可以去:
工具> 偏好设置> 控制台> 高级设置> 用户模块删除器
并停用选项
显示重新加载的模块列表