# ============================================================================ # sanguo_vnpy_v2 三机统一依赖锁文件(Python 3.10 基线) # ============================================================================ # 创建:2026-07-15。单一基线,三机(Mac 开发 / NAS 容器 / Windows VPS)共享。 # # 目标版本决策依据(详见 docs/deployment/env-version-matrix.md §「锁定决策」): # - vnpy 4.4.0 pyproject.toml: numpy>=2.2.3 / pandas>=2.2.3(均无上限,不钉 <3) # - pandas 目标 = 2.3.3(2.x 稳定线顶端)。pandas 3.0 有大量破坏性变更且未经 # vnpy 4.4.0 源码回归,按「稳定优先」暂不采用,留作未来验证后再升。 # - numpy 目标 = 2.2.6(2.2.x 最新稳定,与 TA-Lib 0.6.8 在 NAS 生产容器实证兼容) # - 其余依赖取 NAS 生产容器「已验证可跑」的版本(pandas 2.3.3 / numpy 2.2.6 那套) # # 不含(按设计): # - vnpy:源码引用(sys.path.insert),不 pip install,故不入 lock # - xtquant:VPS/Windows 专属(miniQMT),跨平台不兼容,不入共享 lock # - CUDA/nvidia-*:torch 的平台相关传递依赖,随 torch 自动解析,不入 lock # - 纯传递依赖(contourpy/cffi/certifi 等):由解析器依直接依赖自动钉版 # # 验证前置(lockfile 落生产前必须通过): # 1. 测试环境按本文件 pip install -r 后跑全套 pytest(0 回归) # 2. 至少一个 CTA 回测冒烟(确认 vnpy 源码 + TA-Lib + pandas/numpy 协同无回归) # ============================================================================ # ============================================ # 生产核心(runtime + vnpy 扩展包) # ============================================ # 数值/数据栈(关键 major 锁定,禁止擅自跨 major) numpy==2.2.6 pandas==2.3.3 TA-Lib==0.6.8 # vnpy 4.4.0 扩展包(vnpy 本体源码引用,不列) vnpy_ctastrategy==1.4.1 vnpy_sqlite==1.1.3 # 组合策略框架 BulletTrade(sanguo_portfolio 三策略; import 名 bullet_trade; jqdatasdk 为 bullet_trade import 链依赖,实跑用 LocalUnifiedProvider 不调 online) # 2026-08-01 补:此前 VPS/NAS 均手动 pip install 未入 lock,重装环境会丢(同 NAS 重建丢包坑) bullet-trade==0.9.2 jqdatasdk==1.9.8 # vnpy 核心依赖(与 vnpy_v4.4.0/pyproject.toml 对齐,钉到 NAS 实证版本) pyzmq==27.1.0 deap==1.4.4 plotly==6.8.0 pyqtgraph==0.14.0 qdarkstyle==3.2.3 PySide6==6.8.2.1 tzlocal==5.4.4 loguru==0.7.3 tqdm==4.68.3 nbformat==5.10.4 requests==2.34.2 qrcode==8.2 PyYAML==6.0.3 # ============================================ # 数据层(采集 / 数据平台) # ============================================ polars==1.42.1 pyarrow==24.0.0 baostock==0.9.3 # akshare:日线采集走 NAS 宿主 python(不在容器内),此处钉最新稳定; # 发版频繁,定期 bump。参考:https://pypi.org/project/akshare/ akshare==1.18.64 scipy==1.15.3 # ============================================ # Web 服务(sanguo_api / bridge client) # ============================================ fastapi==0.139.0 uvicorn==0.49.0 # 安装用 uvicorn[standard]==0.49.0(含 uvloop/httptools/watchfiles) starlette==1.3.1 pydantic==2.13.4 pydantic-settings==2.14.2 python-multipart==0.0.32 PyJWT==2.13.0 bcrypt==5.0.0 python-jose==3.5.0 passlib==1.7.4 SQLAlchemy==2.0.51 alembic==1.18.5 redis==8.0.1 aioredis==2.0.1 APScheduler==3.11.3 httpx==0.28.1 websockets==16.0 structlog==26.1.0 prometheus-client==0.25.0 python-dotenv==1.2.2 # ============================================ # 测试 / 开发工具 # ============================================ pytest==9.1.1 pytest-asyncio==1.4.0 # ============================================ # 可选:Alpha 量化(重 ML 依赖,按需安装,-headless/CI 可省) # 安装方式:pip install -r requirements-lock.txt 时含本段; # 仅生产核心可手动截断本段之后。torch 会拉入平台相关 CUDA 包。 # ============================================ scikit-learn==1.7.2 lightgbm==4.6.0 torch==2.12.1 alphalens-reloaded==0.4.6 empyrical-reloaded==0.5.12 statsmodels==0.14.6 matplotlib==3.10.9 seaborn==0.13.2