问题描述
如题
解决方案
在 QMT(迅投极速量化)平台运行 Python 策略时,如果遇到 No module named 'numpy' 或 No module named 'pandas' 的报错,通常是因为 Python 运行环境配置不当 或 底层依赖库缺失/损坏 导致的。根据 QMT 官方文档,QMT 安装包默认自带的 Python 环境中已经内置了 NumPy(1.16.2)和 Pandas(0.22.0)。
以下是详细的排查与解决步骤:
方法一:检查并重置 QMT 自带的 Python 库路径(推荐)
最常见的原因是用户不小心修改了 Python 库路径,或者自带的库文件损坏。您可以通过 QMT 客户端内置的下载功能恢复:
- 打开 QMT 客户端,点击左上角的**【设置】**。
- 在弹出的系统设置面板中,切换到**【交易设置】 -> 【模型设置】**子面板。
- 找到 Python库路径 设置项,确保路径指向正确(通常默认为
QMT安装目录\bin.x64\Lib\site-packages)。 - 点击旁边的 【Python库下载】 按钮。系统将会从服务器上自动下载最新的 QMT Python 库到指定的路径中,覆盖修复缺失的
numpy和pandas。
方法二:手动安装/补充第三方库
如果您使用的是自行安装的 Python 环境,或者需要特定版本的库,可以通过 pip 将库安装到 QMT 的指定目录中。
安装步骤:
- 按
Win + R键打开系统运行框,输入cmd,回车打开命令行窗口。 - 找到您本地官方 Python3 的安装目录(建议版本为 3.6.8,与 QMT 兼容性最好)。
- 使用
--target参数将库安装到 QMT 的目录下。在 cmd 中输入以下命令(请根据实际路径替换):
注:为了加快下载速度,可以加上清华源镜像参数:C:\Python36\Scripts\pip.exe install numpy pandas --target=D:\QMT\bin.x64\Lib\site-packagesC:\Python36\Scripts\pip.exe install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy pandas --target=D:\QMT\bin.x64\Lib\site-packages
⚠️ 重要注意事项
- 不要随意升级内置 Pandas:官方文档特别提醒,三方库的安装有可能会引起系统错误。已经内置的库,如果没有特殊需要请勿随意升级,特别是平台内置的 pandas 库请务必不要升级,否则可能导致 QMT 获取财务数据或历史行情数据时出现 DataFrame 格式不兼容的严重报错。
- 操作前备份:在手动安装或覆盖三方库前,强烈建议先备份
QMT安装目录\bin.x64\目录下的DLLs和Lib这两个文件夹。如果安装后引起系统错误,可以替换回来恢复系统默认状态。
如果以上方法均无法解决,建议直接备份好您的策略代码(userdata_mini 文件夹等),然后重新安装最新版的 QMT 客户端,这能解决 99% 的环境损坏问题。