Spyder выдает "assert sys.modules [modname] не old_mod" при запуске кода pythoncom - PullRequest
0 голосов
/ 20 мая 2018

Отредактировано: Если я запускаю следующий код два раза через 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, он всегда работает.

1 Ответ

0 голосов
/ 23 мая 2018

( Сопровождающий Spyder здесь ) Эта проблема вызвана перегрузчиком пользовательских модулей Spyder (UMR), который перезагружает модули в наших консолях, так что изменения могут интерактивно регистрироваться на них.

Чтобы это исправить, вам нужно добавить pythoncom в список модулей UMR, занесенных в черный список, перейдя по адресу:

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

Примечание : Если вы также хотитечтобы наша UMR не показывала список перезагруженных модулей при каждом запуске файла, вы можете отключить его предупреждения, отключив эту опцию:

Tools > Preferences > Python interpreter > Show reloaded modules list

...