4.2 KiB
4.2 KiB
双端依赖安装指南
本节描述如何让
gvsds主服务器和ATestCServer等子服务器共享同一版本的gvsdsdk。
1. 版本一致性原则
- 同一代码:双端导入的是同一份 Python 文件(物理位置
D:\SMANAGE\gvsdsdk) - 同一版本:通过
pyproject.toml中的version = "1.0.0"锁定 - 启动校验:双端启动时调用
gvsdsdk.check_min_version("1.0.0"),版本不符会打 WARNING 日志 - 热重载支持:直接编辑
D:\SMANAGE\gvsdsdk下的文件即可生效(无需 reinstall)
2. 三种安装方式
方式 A:PYTHONPATH 方式(推荐开发用)
# 启动 gvsds
cd D:\SMANAGE\gvsds
set PYTHONPATH=D:\SMANAGE\gvsds;D:\SMANAGE\gvsdsdk
python manage.py runserver
# 启动 ATestCServer
cd D:\SMANAGE\ATestCServer
set PYTHONPATH=D:\SMANAGE\ATestCServer;D:\SMANAGE\gvsdsdk
python manage.py runserver 0.0.0.0:25080
manage.py 和 settings.py 内已自动 sys.path.append(...),无需手动设置。
方式 B:可编辑 pip 安装(推荐开发用,自动同步)
# 全局安装一次即可,所有项目共享
pip install -e D:\SMANAGE\gvsdsdk
# 验证
pip show gvsdsdk
# Name: gvsdsdk
# Version: 1.0.0
# Location: D:\SMANAGE\gvsdsdk
方式 C:路径式 requirements 固定(推荐生产/部署)
gvsds/requirements.txt:
gvsdsdk==1.0.0
ATestCServer/requirements.txt:
gvsdsdk==1.0.0
部署时 pip install -r requirements.txt 会自动从 PyPI 拉取对应版本(或私有源)。
3. 启动时的版本校验日志
正常启动(两端版本一致):
gvsds 端:
[INFO] gvsds.startup: [SDK] 加载: v1.0.0 @ D:\SMANAGE\gvsdsdk
[INFO] gvsds.startup: [SDK] OK: SDK 1.0.0 >= 1.0.0
ATestCServer 端:
[INFO] apps: [SDK] 加载: v1.0.0 @ D:\SMANAGE\gvsdsdk
[INFO] apps: [SDK] OK: SDK 1.0.0 >= 1.0.0
版本不一致(双端版本不同):
[WARN] gvsds.startup: [SDK] 版本不符!FAIL: SDK 0.9.0 < 1.0.0 (required)。双端 gvsdsdk 版本必须一致!
4. CLI 验证工具
# 默认:显示简要信息
python -m gvsdsdk
# 仅版本号(适合脚本中调用)
python -m gvsdsdk --version
# 1.0.0
# 详细信息
python -m gvsdsdk --info
# GVS-DSDK Version Information:
# Version : 1.0.0
# Major : 1
# Minor : 0
# Patch : 0
# Prerelease :
# Location : D:\SMANAGE\gvsdsdk
# Python : 3.12.0
# Platform : Windows-10-...
# Machine : AMD64
# 最低版本检查(CI 友好)
python -m gvsdsdk --check 1.0.0
# OK: SDK 1.0.0 >= 1.0.0 (返回 0)
python -m gvsdsdk --check 2.0.0
# FAIL: SDK 1.0.0 < 2.0.0 (required) (返回 1)
# 列出所有公开符号
python -m gvsdsdk --symbols
# 测试连通性
python -m gvsdsdk --ping
# Pong — SDK 1.0.0 ready at D:\SMANAGE\gvsdsdk
# 23 symbols available (lazy)
5. 升级 SDK 版本
当需要发布新版本时:
-
修改
D:\SMANAGE\gvsdsdk\__init__.py:VERSION_MAJOR = 1 VERSION_MINOR = 1 # 升级 VERSION_PATCH = 0 -
修改
D:\SMANAGE\gvsdsdk\pyproject.toml:[project] version = "1.1.0" -
同步更新双端
requirements.txt:gvsdsdk==1.1.0 -
同步更新双端最低版本常量:
gvsds/settings.py:17→_REQUIRED_GVSDSDK = '1.1.0'ATestCServer/apps/sub_server/apps.py:12→REQUIRED_GVSDSDK_VERSION = '1.1.0'
-
重启双端 → 启动日志会报告新版本
6. 常见问题
| 现象 | 原因 | 解决 |
|---|---|---|
ImportError: No module named 'gvsdsdk' |
PYTHONPATH 未设置 | 安装 SDK 或加入路径 |
WARNING [SDK] 版本不符 |
双端版本不一致 | 升级较低端 |
WARNING [SDK] gvsdsdk 未安装 |
子服务器 PYTHONPATH 漏配 | 检查 manage.py:5 |
| 编辑 SDK 后无变化 | 字节码缓存 | 删除 __pycache__/ |
7. 跨平台路径
pyproject.toml 路径引用应使用 file:/// 协议:
gvsdsdk @ file:///D:/SMANAGE/gvsdsdk ; sys_platform == "win32"
gvsdsdk @ file:///opt/gvsdsdk ; sys_platform == "linux"
gvsdsdk @ file:///usr/local/gvsdsdk ; sys_platform == "darwin"
或在 CI 中使用环境变量:
pip install -e "$GVS_SDK_PATH"