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

VSCode用Cloud Code部署Cloud Run时出现Worker Exiting (pid:2)报错如何解决?

问题根因

从Cloud Run的错误日志可以直接定位核心错误:ModuleNotFoundError: No module named 'pyaudio',是Gunicorn启动时无法找到你配置的WSGI入口模块导致工作进程启动失败,最终服务无法对外提供访问。
这个错误分两种常见场景,对应解决方法如下:

解决方法

场景1:pyaudio是你自己项目的入口Python文件

  • 首先确认本地部署根目录下存在pyaudio.py文件,且文件内有已初始化的名为app的WSGI实例(比如Flask实例、FastAPI实例等)
  • 调整Dockerfile的路径配置,避免工作目录切换导致的文件路径错误,修改后的Dockerfile参考:
FROM python:slim

# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1

# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1

# 提前切换工作目录,避免后续复制文件路径错误
WORKDIR /app
COPY requirements.txt .
RUN python -m pip install -r requirements.txt

COPY . /app

# Creates a non-root user with an explicit UID and adds permission to access the /app folder
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser

CMD ["gunicorn", "--bind", "0.0.0.0:8080", "pyaudio:app"]
  • 如果你的实际入口文件名不是pyaudio.py,只需将CMD命令中的pyaudio:app替换为你的入口文件名:app即可,比如入口是main.py就改成main:app

场景2:pyaudio是项目需要引入的第三方依赖库

  • 首先在requirements.txt文件中添加pyaudio的依赖声明
  • 由于python:slim是精简系统镜像,缺少pyaudio依赖的系统底层库,需要提前安装系统依赖,修改后的Dockerfile参考:
FROM python:slim

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

WORKDIR /app
# 安装pyaudio所需的系统依赖,安装完成后清理缓存减小镜像体积
RUN apt update && apt install -y portaudio19-dev gcc && rm -rf /var/lib/apt/lists/*

COPY requirements.txt .
RUN python -m pip install -r requirements.txt

COPY . /app

RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser

# 此处替换为你实际的项目入口文件
CMD ["gunicorn", "--bind", "0.0.0.0:8080", "你的入口文件名:app"]
额外校验点

如果使用了包结构管理项目代码,需要保证入口模块所在目录存在__init__.py文件,确保Python可以正常识别为可导入模块。

内容的提问来源于stack exchange,提问作者Ananth NM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:15:03