问题描述
解决方案
根据 QMT 官方文档(版本 3.3.6),QMT 内置了 Python 3.6.8 环境。若需要使用默认环境中未包含的第三方库,可以通过 pip 命令将其安装到 QMT 的库目录中。
以下是详细的操作步骤和注意事项:
核心步骤:使用 pip 安装到指定目录
QMT 允许用户通过 pip 的 --target 参数,将第三方库安装到 QMT 的 site-packages 目录下。
1. 准备工作与注意事项(非常重要)
- 确认 Python 版本:QMT 内置 Python 版本为 3.6.8。建议您使用本机安装的 Python 3.6.x 版本的
pip进行安装,以确保下载的库文件(Whl包)与 QMT 兼容。 - 备份文件:安装前,请务必备份 QMT 安装目录下的
bin.x64\Lib和bin.x64\DLLs文件夹。如果安装导致环境损坏,可以通过还原备份恢复。 - 禁止升级核心库:切勿升级 QMT 内置的
pandas、numpy等核心库,否则会导致 QMT 无法运行。
2. 安装命令格式
打开 Windows 的命令提示符(CMD),使用以下命令格式进行安装:
<本地Python3.6路径>\Scripts\pip.exe install <库名称> --target=<QMT安装目录>\bin.x64\Lib\site-packages
3. 具体操作示例
假设您的环境如下:
- 本地 Python 3.6 安装路径:
C:\Python36 - QMT 安装路径:
D:\QMT - 需要安装的库:
requests
操作步骤:
- 按下
Win + R,输入cmd并回车。 - 在命令行中输入以下命令并运行:
C:\Python36\Scripts\pip.exe install requests --target=D:\QMT\bin.x64\Lib\site-packages
使用国内镜像源加速(推荐):
如果下载速度慢,可以添加 -i 参数使用清华源:
C:\Python36\Scripts\pip.exe install -i https://pypi.tuna.tsinghua.edu.cn/simple requests --target=D:\QMT\bin.x64\Lib\site-packages
验证安装
安装完成后,打开 QMT 客户端,进入【策略编辑器】,新建一个 Python 策略,输入以下代码并运行,如果没有报错,说明安装成功:
#encoding:gbk
import requests # 替换为您刚安装的库名
def init(ContextInfo):
print("库导入成功")
def handlebar(ContextInfo):
pass
常见问题 Q&A
Q: 我可以直接在 QMT 的 Python 代码里运行 !pip install 吗?
A: 不可以。QMT 的策略编辑器不支持 Jupyter 风格的魔法命令。必须通过 Windows 命令行(CMD)将库安装到 QMT 的文件目录中。
Q: 安装第三方库后 QMT 报错或无法启动怎么办?
A: 这通常是因为新安装的库依赖项覆盖或冲突了 QMT 原有的核心库(如 pandas)。请立即将之前备份的 Lib 和 DLLs 文件夹覆盖回原目录以恢复环境。
Q: 我可以使用 Python 3.9 或 3.10 的 pip 来安装吗?
A: 不建议。虽然纯 Python 库可能通用,但包含 C 扩展的库(如 tensorflow, cv2 等)必须严格对应 Python 版本(cp36)和系统架构(win_amd64)。使用 Python 3.6 的 pip 能确保下载到正确版本的 whl 文件。
Q: 如何查看 QMT 当前已安装了哪些库?
A: 您可以在 QMT 的策略编辑器中运行以下代码来打印已安装模块列表:
#encoding:gbk
import pkg_resources
def init(ContextInfo):
installed_packages = pkg_resources.working_set
for dist in installed_packages:
print(f"{dist.project_name}=={dist.version}")
def handlebar(ContextInfo):
pass