3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 QMT(如 e海方舟-量化交易版)中遇到 frozen importlib._bootstrap 和 KeyboardInterrupt:策略被手动停止 的报错,通常是因为在 Python 引擎正在导入(import)第三方库或初始化时,进程被强行中断(例如你提到在运行一个回测时又点击了另一个回测)。
由于 QMT 的 Python 环境是内嵌的,这种强行中断会导致 Python 解释器的内部导入锁(import lock)卡死,或者产生残留的僵尸进程,从而导致后续无论怎么点击回测都会直接报错。
以下是彻底解决该问题的排查与修复步骤:
虽然你重新安装了软件,但如果后台有残留的 Python 进程未被关闭,问题依然会存在。
python.exe、xtquant 或与 QMT 相关的后台进程,右键将其结束任务。中断导入可能会导致生成损坏的 .pyc 缓存文件。下次运行时 Python 会读取损坏的缓存,再次报错。
E:\programs\e 海方舟-量化交易版\python\)。__pycache__ 的文件夹,将其整个删除。.pyc 结尾的文件,也一并删除。如果重启电脑和清理缓存后,点击回测依然立刻报这个错,说明你的代码中可能存在导致 QMT 引擎超时并自动触发 KeyboardInterrupt 的逻辑:
init(ContextInfo) 或全局作用域中是否有 while True: 等死循环。import 了非常庞大的自定义库,或者在导入时执行了耗时的网络请求/数据库读取,QMT 可能会认为策略卡死而强行发送中断信号。init 和 handlebar 中)使用长期的 time.sleep()。你提到“重新覆盖安装”无效,通常是因为覆盖安装不会删除用户数据和配置。
如果上述步骤都不行,请尝试彻底重置:
.py 文件)。E:\programs\e 海方舟-量化交易版\),确保里面没有任何残留文件。QMT 的回测引擎在处理高并发时相对脆弱。在日常使用中: