Files
Django/gvsdsdk/INSTALL.md

4.2 KiB
Raw Blame History

双端依赖安装指南

本节描述如何让 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. 三种安装方式

方式 APYTHONPATH 方式(推荐开发用)

# 启动 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.pysettings.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 版本

当需要发布新版本时:

  1. 修改 D:\SMANAGE\gvsdsdk\__init__.py

    VERSION_MAJOR = 1
    VERSION_MINOR = 1  # 升级
    VERSION_PATCH = 0
    
  2. 修改 D:\SMANAGE\gvsdsdk\pyproject.toml

    [project]
    version = "1.1.0"
    
  3. 同步更新双端 requirements.txt

    gvsdsdk==1.1.0
    
  4. 同步更新双端最低版本常量

    • gvsds/settings.py:17_REQUIRED_GVSDSDK = '1.1.0'
    • ATestCServer/apps/sub_server/apps.py:12REQUIRED_GVSDSDK_VERSION = '1.1.0'
  5. 重启双端 → 启动日志会报告新版本

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"