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

GCP Cloud Run部署FastAPI应用时出现ModuleNotFoundError问题求助

GCP Cloud Run部署FastAPI应用时出现ModuleNotFoundError问题求助

大家好,我最近在把一个FastAPI应用部署到GCP Cloud Run时遇到了棘手的问题,想请各位大佬帮忙分析下原因。

情况是这样的:我用Dockerfile构建镜像,应用的密钥通过Secret Manager挂载到容器卷中。本地用Docker Compose运行容器完全正常,但一部署到Cloud Run就开始报ModuleNotFoundError,而且不止一个模块出问题——最开始是导入Firebase Auth对象失败,调整代码后又出现了其他模块找不到的情况,现在卡在了services.user.auth这个模块上。

以下是完整的错误回溯:

Traceback (most recent call last):
  File "/app-backend/main.py", line 3, in <module>
    import app
  File "/app-backend/app/__init__.py", line 8, in <module>
    from app.routes import v1_router
  File "/app-backend/app/routes/__init__.py", line 3, in <module>
    from app.routes.user import user_router
  File "/app-backend/app/routes/user/__init__.py", line 3, in <module>
    from app.routes.user.auth import user_auth_router
  File "/app-backend/app/routes/user/auth.py", line 11, in <module>
    from services.user.auth import AuthService
ModuleNotFoundError: No module named 'services.user.auth'

我的项目结构和之前成功部署到Cloud Run的另一个应用类似,只是依赖不同。下面是我的Dockerfile和docker-compose.yaml内容:

Dockerfile

FROM python:3.13.3-slim-bookworm

RUN apt-get -y update
RUN pip3 install --upgrade pip

WORKDIR /app-backend

RUN pip3 install uv
RUN uv venv

COPY requirements.txt requirements.txt
RUN uv pip install --system -r requirements.txt

COPY . .

EXPOSE 8080:8080

CMD ["python3", "main.py" ]

docker-compose.yaml

services:
  app-backend:
    container_name: app-backend
    network_mode: bridge
    environment:
      - APP_ENV=DEV
      - DEBUG=true
      - DOC_URL=/
      # Server Configurtions
      - HOST=0.0.0.0
      - PORT=8080
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/app-backend
    ports:
      - 8080:8080

我实在搞不懂为什么本地运行一切正常,到了Cloud Run就找不到模块了,有没有大佬能帮我捋捋可能的问题点?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 07:19:29