Spyder - UMD已删除:模块

Kra*_*y89 22 python graphics spyder pythonxy

我现在已经和python一起玩了大约一个月了,有些事情让我困扰.我使用python(x,y)工具包,它附带了整洁的Spyder IDE.我的问题涉及Spyder的UMD(用户模块删除).

我 在互联网上找到了这个图形模块,这有助于人们在python脚本中做一些简单的图形内容(据我所知).

它不像我被卡住了,但是当我执行下面的代码时:

import pylab as p
import graphics as g

window = g.GraphWin("tryout", 600, 600)
window.close()
print p.sqrt(4)
Run Code Online (Sandbox Code Playgroud)

输出是:

>>>runfile(r'C:\some\folders\tryout.py', wdir=r'C:\some\folders')
>>>UMD has deleted: graphics
>>>2.0
Run Code Online (Sandbox Code Playgroud)

1号线显然是好的,所以是3号线,但我没有得到线2条.此外,挑起窗口闪烁和画面之外,因为它应该.第2行似乎没有任何伤害,我可以完全重新运行该文件,因为我不想,但我想知道它来自哪里.

每次运行脚本时,AFAIK UMD都会强制解释器重新加载模块.显示的消息是否表示"它"已删除对模块的引用,因为它已不再使用,或者是否为其他内容?或者它是否意味着某些事情是错误的,并且如果我之后添加更多内容会"伤害"我的代码吗?

注意:第一个问题,所以请评论它的废话,以帮助我提高我的要求技巧.

编辑:我尝试在测试线上移动print p.sqrt(4),发现我把它放在哪里并不重要.如果它是导入模块后的第一行,它仍会在显示sqrt(4)之前提示消息

Car*_*oba 44

简答:

也许删除不是你提到的信息中最好的词.它应该重新加载,这是UMD真正在做的事情,因为它不那么令人困惑.我将在我们的问题跟踪器中填写此问题.

答案很长:

UMD不仅会重新加载您的脚本,还会重新加载它所依赖的所有本地模块.通过当地我的意思是模块Python安装之外,在你有写权限.

我们的想法是,在您的脚本旁边,您可能已经开发了一个辅助功能库来配合它.因此,您最有可能也想重新加载该库,以便在运行时反映对它的任何更改.

我知道这不是你的情况,所以如果你想删除那条消息,你可以去:

工具 > 首选项 > 控制台 > 高级设置 > 用户模块删除器

并停用该选项

显示重新加载的模块列表

  • 我不认为这是调试; 它更多的是告知用户在下次执行之前已经重新加载了哪些模块.在您的情况下,因为我猜您在本地安装了Mayavi,您可以停用该消息,将其添加到排除模块列表中. (2认同)
  • 当答案以这种方式具有权威性时,真是太棒了。几年后查看相同的指令也非常简洁,它被称为 UMR,即重新加载器,并且更改完成得如此彻底。对于较新版本的spyder,菜单顺序为*工具 > 首选项 > Python 解释器 > 高级设置 > 用户模块重新加载器 (UMR)*。 (2认同)