1

编辑:如果我通过 spyder 运行以下代码两次,它在我第二次运行它时给我一个错误,第一次它总是有效:

import pythoncom

if __name__ == '__main__':
    print("hallo")

这是错误:

File "C:\Users\Oliver\AppData\Local\Programs\Python\Python36-32\lib\site-packages\win32\lib\pywintypes.py", line 129, in __import_pywin32_system_module__
    assert sys.modules[modname] is not old_mod

当我重新启动内核时,它再次工作。此外,如果我直接使用 python 运行它,它总是可以工作的。

4

1 回答 1

3

这里是 Spyder 维护者)这个问题是由 Spyder 用户模块重新加载器 (UMR) 引起的,它在我们的控制台中重新加载模块,以便可以交互地在它们上获取更改。

要修复它,您需要添加pythoncom到 UMR 黑名单模块列表中,方法是:

Tools > Preferences > Python interpreter > Set UMR excluded (not reloaded) modules.

注意:如果您还想阻止我们的 UMR 在每次运行文件时显示重新加载的模块列表,您可以通过禁用此选项来关闭其警告:

Tools > Preferences > Python interpreter > Show reloaded modules list

于 2018-05-23T19:03:57.233 回答