2012-12-14 73 views
21

我一直在与Python蠢蠢欲动了大约一个月,有些事情正在困扰着我。 我使用python(x,y)工具包,它配备了整洁的Spyder IDE。 我的问题涉及Spyder的UMD(用户模块删除器)。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)转移,发现它并不重要,我把它放在哪里。如果它的第一行导入模块后,它仍然raisses显示的sqrt(4)

回答

43

简答题之前消息:

也许删除是不是你所提到的消息中的最好的词。它应该是重新加载,这是UMD真的在做什么,因为不那么容易混淆。我将在我们的问题跟踪器中为此填写一个问题。

龙答:

UMD重新加载不仅是你的脚本也是所有本地模块这取决于。通过本地我的意思是你的Python安装以外,你有写权限的模块。

这个想法是,在你的脚本旁边,也许你已经开发了一个辅助函数库去。所以你很可能也想重新加载这个库,所以对它的任何更改都会在运行时反映出来。

我知道这是不是你的情况,所以如果要删除该邮件,你可以去:

工具>>控制台>高级设置>用户模块缺失者

和禁用选项

显示重加载模块列表

+0

感谢您的澄清... =) – Kraay89

+0

有用的,它打印一个很长的列表,当使用Mayavi例如,因为这个“显示重载模块列表”更多的调试,不应该被禁用默认? – dashesy

+2

我不认为这是为了调试;它更多的是通知用户在下次执行之前哪些模块已被重新加载。在你的情况下,因为我猜你已经在本地安装了Mayavi,所以你可以停用该消息,将它添加到排除模块列表中。 –