我已经和蟒蛇混了一个月了,有些事情困扰着我。我使用python(x,y)工具包,它附带了整洁的Spyder。我的问题与Spyder的UMD (用户模块删除)有关。
我在互联网上找到了这图形模块,它可以帮助人们在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行显然没问题。第3行也是如此,但我没有得到第2行。而且,被激发的窗口会像它应该的那样在屏幕内外闪烁。第2行似乎没有什么坏处,我可以尽可能多地重新运行这个文件,但是我想知道它是从哪里开始的。
AFAIK UMD强制解释器在每次运行脚本时重新加载模块。显示的消息是否意味着“it”已经删除了对模块的引用,因为它不再被使用,或者是其他什么东西?或者,这是否意味着有些地方出了问题,它会不会“伤害”我的代码,之后我应该添加更多吗?
注:第一个问题,所以请评论它的垃圾,以帮助我提高我的提问技巧。
编辑:--我试着在测试行print p.sqrt(4)上转转,发现把它放在哪里并不重要。如果它是导入模块后的第一行,则在显示sqrt(4)之前仍然会引发消息。
发布于 2012-12-15 15:51:38
简短回答:
也许删除不是你提到的信息中最好的词。它应该重新加载,这就是UMD真正要做的事情,因为它不那么让人困惑。我会在我们的问题追踪器中填写这方面的问题。
长答案:
UMD不仅重新加载您的脚本,而且重新加载它所依赖的所有本地模块。在本地,我指的是Python安装之外的模块,以及您拥有编写权限的模块。
其想法是,在脚本旁边,您可能已经开发了一个辅助函数库来配合它。因此,您很可能也希望重新加载该库,以便在运行时反映对它的任何更改。
我知道这不是你的情况,所以如果你想删除这条信息,你可以转到:
工具>首选项>控制台>高级设置>用户模块Deleter
并禁用该选项
显示重新加载的模块列表
https://stackoverflow.com/questions/13876306
复制相似问题