From 75454a7f55c22dbae43ebf1b24e63a21faa00f4b Mon Sep 17 00:00:00 2001 From: claude_dev Date: Sat, 15 Aug 2026 08:02:17 +0800 Subject: [PATCH] =?UTF-8?q?fix(docker):=20requirements-docker=E5=85=A8?= =?UTF-8?q?=E9=87=8F=3D=3D=E9=92=89=E7=89=88=E5=AF=B9=E9=BD=90requirements?= =?UTF-8?q?-lock=E2=80=94=E2=80=94=E6=A0=B9=E6=B2=BB>=3D=E6=B5=AE=E5=8A=A8?= =?UTF-8?q?=E8=87=B4=E5=AE=B9=E5=99=A8=E7=B3=BB=E7=BB=9F=E6=80=A7=E5=81=8F?= =?UTF-8?q?=E6=96=B0(TA-Lib0.7.1/empyrical-reloaded0.5.9+=E9=81=97?= =?UTF-8?q?=E7=95=99empyrical0.5.5=E5=8F=8C=E8=A3=85/pyarrow25/fastapi0.14?= =?UTF-8?q?1/lightgbm4.7/torch2.13=20vs=20lock=200.6.8/0.5.12/24.0.0/0.139?= =?UTF-8?q?.0/4.6.0/2.12.1),=E6=B6=88=E9=99=A4'NAS=E7=BB=BF=E2=89=A0VPS?= =?UTF-8?q?=E7=89=88=E6=9C=AC'=E7=AD=89=E4=BB=B7=E6=80=A7=E7=AA=97?= =?UTF-8?q?=E5=8F=A3;empyrical>=3D0.5.5=E6=8D=A2empyrical-reloaded=3D=3D0.?= =?UTF-8?q?5.12=E6=A0=B9=E6=B2=BB=E5=8F=8C=E8=A3=85;=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E4=B8=93=E5=B1=9E=E5=B7=AE=E5=BC=82=E4=BF=9D=E7=95=99(?= =?UTF-8?q?=E6=97=A0akshare=E9=87=87=E9=9B=86=E5=9C=A8VPS/=E6=97=A0pytest?= =?UTF-8?q?=E8=B7=91=E5=9C=A8Mac=20runner/polars[rtcompat]=E9=98=B2NAS?= =?UTF-8?q?=E6=97=A0AVX2=20SIGILL);=E6=96=87=E4=BB=B6=E5=A4=B4=E6=B3=A8?= =?UTF-8?q?=E6=98=8E=E7=89=88=E6=9C=AC=E6=BA=90=3Dlock=E9=9C=80=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=20[nas]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements-docker.txt | 129 +++++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 68 deletions(-) diff --git a/requirements-docker.txt b/requirements-docker.txt index 7d16496..370b422 100644 --- a/requirements-docker.txt +++ b/requirements-docker.txt @@ -1,26 +1,36 @@ -# Sanguo VeighNa Docker 依赖 +# Sanguo VeighNa Docker 依赖(NAS 容器) # 基于 VeighNa 4.4.0,添加 Web 服务所需依赖 +# +# ⚠️ 版本源 = requirements-lock.txt(三机统一锁文件,VPS 生产快照=权威基线)。 +# 本文件 = lock 的容器子集,全部 == 钉版;lock bump 时必须同步本文件。 +# 容器专属差异(相对 lock 按设计省略): +# - akshare:日线采集在 VPS,不在容器 +# - pytest/pytest-asyncio:CI 在 Mac runner 跑,不在容器 +# 2026-08-15 钉版根治:原 >= 浮动致容器系统性偏新 +# (TA-Lib0.7.1/empyrical双装/pyarrow25 vs lock 0.6.8/0.5.12/24.0.0), +# 产生「NAS 绿 ≠ VPS 版本」的等价性窗口。 # ============================================ # VeighNa 核心依赖 # ============================================ -tzlocal>=5.3.1 +tzlocal==5.4.4 PySide6==6.8.2.1 -pyqtgraph>=0.13.7 -qdarkstyle>=3.2.3 -numpy>=2.2.3 -pandas>=2.2.3 -ta-lib>=0.6.4 -deap>=1.4.2 -pyzmq>=26.3.0 -plotly>=6.0.0 -tqdm>=4.67.1 -loguru>=0.7.3 -nbformat>=5.10.4 -requests>=2.32.0 -qrcode>=7.4.2 +pyqtgraph==0.14.0 +qdarkstyle==3.2.3 +numpy==2.2.6 +pandas==2.3.3 +TA-Lib==0.6.8 +deap==1.4.4 +pyzmq==27.1.0 +plotly==6.8.0 +tqdm==4.68.3 +loguru==0.7.3 +nbformat==5.10.4 +requests==2.34.2 +qrcode==8.2 +PyYAML==6.0.3 -# VeighNa 策略/数据库扩展(项目必需,非可选) +# vnpy 策略/数据库扩展(项目必需,非可选) # vnpy_ctastrategy: CTA 策略引擎(sanguo_backtest/cta_engine·cta_optimizer·ashare_engine, sanguo_live 等广用) # vnpy_sqlite: vnpy sqlite 数据库驱动(vnpy trader/database.py 运行时动态加载,缺则 vnpy 无法持久化) vnpy_ctastrategy==1.4.1 @@ -35,75 +45,58 @@ vnpy_sqlite==1.1.3 bullet-trade==0.9.2 jqdatasdk==1.9.8 -# VeighNa Gateway 扩展(可选,根据需要安装) -# 注意:这些是独立的扩展包,未安装时不影响核心功能 -# vnpy_ctp -# vnpy_ib -# vnpy_okx -# vnpy_binance - # ============================================ # Web 服务依赖 # ============================================ -# FastAPI 核心 -fastapi>=0.100.0 -uvicorn[standard]>=0.23.0 -python-multipart>=0.0.6 +fastapi==0.139.0 +starlette==1.3.1 +uvicorn[standard]==0.49.0 +python-multipart==0.0.32 +python-dotenv==1.2.2 -# WebSocket 支持 -websockets>=12.0 +websockets==16.0 -# 数据验证 -pydantic>=2.0.0 -pydantic-settings>=2.0.0 +pydantic==2.13.4 +pydantic-settings==2.14.2 -# 认证授权 -PyJWT>=2.8.0 -python-jose[cryptography]>=3.3.0 -passlib[bcrypt]>=1.7.4 -python-multipart>=0.0.6 +PyJWT==2.13.0 +python-jose[cryptography]==3.5.0 +passlib==1.7.4 +bcrypt==5.0.0 -# 数据库 -sqlalchemy>=2.0.0 -alembic>=1.12.0 -# SQLite 是 Python 内置的 -# PostgreSQL 支持(可选) -# psycopg2-binary>=2.9.0 +SQLAlchemy==2.0.51 +alembic==1.18.5 -# Redis 客户端 -redis>=5.0.0 -aioredis>=2.0.0 +redis==8.0.1 +aioredis==2.0.1 # ============================================ -# Alpha 量化依赖(可选) +# Alpha 量化依赖 # ============================================ -polars[rtcompat]==1.42.1 # 钉版+[rtcompat]:NAS CPU(Synology Celeron)无 AVX2,plain polars 即便 1.42.1 也 SIGILL(exit132);需 [rtcompat] 拉 polars-runtime-compat 兜底。pre-init-rebuild 实证(有 polars-runtime-compat 才跑得通)。勿放回 >= -scipy>=1.15.2 -alphalens-reloaded>=0.4.5 -scikit-learn>=1.6.1 -lightgbm>=4.6.0 -torch>=2.6.0 -pyarrow>=19.0.1 -empyrical>=0.5.5 +polars[rtcompat]==1.42.1 # 钉版+[rtcompat]:NAS CPU(Synology Celeron)无 AVX2,plain polars 即便 1.42.1 也 SIGILL(exit132);需 [rtcompat] 拉 polars-runtime-compat 兜底。pre-init-rebuild 实证(有 polars-runtime-compat 才跑得通)。勿改回 >= +scipy==1.15.3 +alphalens-reloaded==0.4.6 +scikit-learn==1.7.2 +lightgbm==4.6.0 +torch==2.12.1 +pyarrow==24.0.0 +# empyrical-reloaded 替代老 empyrical(根治 0.5.5+0.5.9 双装、import 顺序决定谁生效的脏状态) +empyrical-reloaded==0.5.12 +statsmodels==0.14.6 +matplotlib==3.10.9 +seaborn==0.13.2 # ============================================ # 工具和监控 # ============================================ -# HTTP 客户端 -httpx>=0.25.0 +httpx==0.28.1 -# 任务调度 -apscheduler>=3.10.0 +APScheduler==3.11.3 -# 监控和日志 -prometheus-client>=0.19.0 -structlog>=23.0.0 +prometheus-client==0.25.0 +structlog==26.1.0 # ============================================ -# 开发工具(生产环境可选) +# 数据层(容器内需要的部分) # ============================================ -# pytest>=7.0.0 -# pytest-cov>=4.0.0 -# ruff>=0.1.0 -# mypy>=1.5.0 -baostock +baostock==0.9.3