You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署依赖JVM的Python Flask应用至Google Cloud遇JVMNotFoundException求助

解决Google Cloud部署Flask应用时JVM缺失的问题

问题原因

Google Cloud的标准Python运行时(如python38)默认未预装JVM,而你的应用依赖Konlpy(需通过JPype1调用JVM),因此触发JVMNotFoundException。

解决方案:使用自定义运行时(Custom Runtime)

通过Docker构建包含Python和JVM的镜像,让应用运行在具备JVM的环境中。

1. 创建Dockerfile

在项目根目录新建Dockerfile,内容如下:

# 基于Python 3.8官方镜像
FROM python:3.8-slim

# 安装适配Konlpy 0.6.0的OpenJDK 11
RUN apt-get update && apt-get install -y openjdk-11-jdk && rm -rf /var/lib/apt/lists/*

# 配置JAVA_HOME,让JPype1能自动识别JVM路径
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64
ENV PATH $JAVA_HOME/bin:$PATH

# 设置工作目录
WORKDIR /app

# 安装Python依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 复制应用代码到镜像
COPY . .

# 启动Gunicorn服务,绑定到平台指定端口
CMD ["gunicorn", "--bind", ":$PORT", "main:app"]

注意:将main:app替换为你实际的Flask应用入口(比如主文件是app.py就写app:app)

2. 修改app.yaml

替换原有配置为自定义运行时设置:

runtime: custom
env: flex

3. 重新部署应用

执行部署命令:

gcloud app deploy

验证

部署完成后,调用依赖Konlpy的路由,确认JVM已正常加载,错误不再出现。

内容的提问来源于stack exchange,提问作者José Carlos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:52:35