fix: 修复 VeighNa 模块加载问题

- 修改 main_service.py 使用正确的 gateway 导入路径
- 添加 try/except 处理 gateway 导入失败的情况
- 更新 requirements-docker.txt 添加 gateway 包说明

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-04 07:26:56 +08:00
parent 918bbed0fc
commit f56c519b1d
2 changed files with 33 additions and 9 deletions
+7
View File
@@ -20,6 +20,13 @@ nbformat>=5.10.4
requests>=2.32.0
qrcode>=7.4.2
# VeighNa Gateway 扩展(可选,根据需要安装)
# 注意:这些是独立的扩展包,未安装时不影响核心功能
# vnpy_ctp
# vnpy_ib
# vnpy_okx
# vnpy_binance
# ============================================
# Web 服务依赖
# ============================================
+26 -9
View File
@@ -21,10 +21,23 @@ try:
)
from vnpy.trader.constant import Exchange, Direction, OrderType, Offset
from vnpy.trader.setting import SETTINGS
from vnpy.gateway.ctp import CtpGateway
from vnpy.gateway.ib import IbGateway
from vnpy.gateway.okx import OkxGateway
from vnpy.gateway.binance import BinanceGateway
# Gateway modules are imported as independent packages
try:
from vnpy_ctp import CtpGateway
except ImportError:
CtpGateway = None
try:
from vnpy_ib import IbGateway
except ImportError:
IbGateway = None
try:
from vnpy_okx import OkxGateway
except ImportError:
OkxGateway = None
try:
from vnpy_binance import BinanceGateway
except ImportError:
BinanceGateway = None
VNPY_AVAILABLE = True
except ImportError:
VNPY_AVAILABLE = False
@@ -78,11 +91,15 @@ class VeighNaService:
# 创建主引擎
main_engine = MainEngine(event_engine)
# 添加网关
main_engine.add_gateway(CtpGateway)
main_engine.add_gateway(IbGateway)
main_engine.add_gateway(OkxGateway)
main_engine.add_gateway(BinanceGateway)
# 添加网关(仅添加已安装的)
if CtpGateway:
main_engine.add_gateway(CtpGateway)
if IbGateway:
main_engine.add_gateway(IbGateway)
if OkxGateway:
main_engine.add_gateway(OkxGateway)
if BinanceGateway:
main_engine.add_gateway(BinanceGateway)
return main_engine, event_engine