跳到主要内容

AI 功能:指定 Python 路径

服务器上 python 指向 Python 2.7 时,手动指定积木报表 AI 功能使用的 Python 3 路径。

适用场景

服务器上同时装有 Python 2.7 和 Python 3.10+,其中 python 指向 2.7。此时 AI 生成报表会报错:

AI 生成报表需要使用 Python 3.10 或更高版本的环境,当前服务器检测到的是 Python 2.7……

解决办法是手动指定积木报表使用的 Python 路径。

第一步:确认 Python 3 路径

which python3
python3 --version # 需要 3.10 或以上

记下路径,例如 /usr/bin/python3/usr/local/bin/python3.12

第二步:配置(任选一种)

方式一:JVM 启动参数(推荐)

java -Djimu.python=/usr/bin/python3 -jar your-app.jar

-D 参数要写在 -jar 前面。

方式二:环境变量

export JIMU_PYTHON=/usr/bin/python3
java -jar your-app.jar

使用 systemd 部署时,在 service 文件中添加:

[Service]
Environment="JIMU_PYTHON=/usr/bin/python3"

然后执行:

systemctl daemon-reload
systemctl restart your-service

使用 Docker 部署时

environment:
- JIMU_PYTHON=/usr/local/bin/python3

Windows 下

java -Djimu.python=C:\Python312\python.exe -jar your-app.jar

第三步:重启应用

必须重启。应用会缓存首次检测到的 Python 命令,不重启配置不会生效。

第四步:验证

在设计器里重新使用 AI 生成报表,不再出现版本报错即为成功。

常见问题

现象原因处理
配置后仍提示 2.7没有重启应用重启
配置后仍提示 2.7路径写错,程序静默回退到了 pythonls -l 路径 确认文件存在
配置后仍提示 2.7当前版本不支持该配置检查 jar 版本,或改用 PATH / venv 方案
systemd 下不生效在 shell 里 export 的变量对 systemd 服务无效写进 service 文件

优先级

-Djimu.python 高于 JIMU_PYTHON,后者又高于自动检测(pythonpython3)。