70d72f35bb
vnpy_qmt 是唯一券商交易 gateway(关键路径),社区包断更有风险。 按 vnpy_v4.4.0 同一套约定 vendor 源码、sys.path 引用、不 pip install。 - vnpy_qmt_v0.3.3/vnpy_qmt/ (5文件587行) + LICENSE(Apache-2.0) + README - run_web.py 加 if-exists 路径块,import 方式不变 (from vnpy_qmt import QmtGateway) Mac 验证: py_compile 全过 + import 解析到 vendor 副本(仅卡 xtquant Win-only,符合预期) VPS 生产切换(Part B: rsync+pip uninstall+重启+实证) 待确认
40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
# vnpy_qmt v0.3.3(vendored,自行维护)
|
||
|
||
本目录是 **vnpy-qmt 0.3.3** 的源码 vendor 副本,纳入本仓库自行维护。
|
||
|
||
## 来源
|
||
- PyPI:`vnpy-qmt==0.3.3`(wheel:`vnpy_qmt-0.3.3-py3-none-any.whl`)
|
||
- 上游:社区项目 `ruyisee/vnpy_qmt`(vnpy 的 miniQMT/xtquant 交易 Gateway)
|
||
- License:**Apache License 2.0**(见 `LICENSE`,vnpy 生态统一协议)
|
||
|
||
## 为什么 vendor(不 pip install)
|
||
`vnpy_qmt` 是本项目**唯一的券商交易 Gateway**(brain → vnpy_qmt → xtquant → miniQMT 下单链路的关键一环)。
|
||
社区包存在断更/失效风险,关键路径依赖外部仓库不可控。vendor 源码后,我们能自主修 bug、跟进 vnpy 接口变更。
|
||
|
||
与同目录的 `vnpy_v4.4.0/` 采用**同一套约定**:源码 vendor、`sys.path` 引用、不 pip install。
|
||
|
||
## 如何引用
|
||
`run_web.py` 启动时把本目录加入 `sys.path`(与 `vnpy_v4.4.0` 同样的 if-exists 块):
|
||
|
||
```python
|
||
qmt_dir = os.path.join(project_dir, "vnpy_qmt_v0.3.3")
|
||
if os.path.exists(qmt_dir):
|
||
sys.path.insert(0, qmt_dir)
|
||
```
|
||
|
||
业务代码 import 方式**不变**:
|
||
```python
|
||
from vnpy_qmt import QmtGateway
|
||
```
|
||
|
||
## 维护注意
|
||
- vnpy 接口兼容性已验证(对 `vnpy_v4.4.0` 零漂移,2026-07 真机实证)。后续若升级 vnpy,需重新核对 `BaseGateway`/`OrderData`/`Status` 枚举/`ZoneInfo` 等 import。
|
||
- `xtquant` 是国金 QMT 官方库(行情 `xtdata` + 交易 `xttrader`),**仅 Windows + miniQMT 进程常驻**可用——本目录不包含 xtquant,Mac/NAS 无法完整 import(会卡在 `from xtquant import ...`),属正常。
|
||
- 文件清单:`vnpy_qmt/__init__.py`(导出 QmtGateway)/ `qmt_gateway.py`(主 Gateway)/ `td.py`(交易)/ `md.py`(行情)/ `utils.py`。
|
||
|
||
## 升级方法
|
||
```
|
||
pip download vnpy-qmt==<新版本> --no-deps -d /tmp/dl
|
||
# 解压 wheel,用 vnpy_qmt/ 覆盖本目录,更新本 README 版本号,diff 核对接口变更
|
||
```
|