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

Docker部署Rasa-SDK遇ModuleNotFoundError:缺失requests模块求助

解决Rasa SDK容器中requests模块找不到的问题

一、修正Dockerfile的正确写法

rasa/rasa-sdk镜像默认使用虚拟环境/opt/venv,直接用pip install可能会安装到系统环境而非Rasa使用的虚拟环境里,这是导致模块找不到的核心原因。以下是两种可靠的Dockerfile写法:

方式1:直接安装requests

FROM rasa/rasa-sdk:3.6.2

# 切换到root权限安装依赖,完成后切回默认用户1001
USER root
RUN /opt/venv/bin/pip install requests
USER 1001

# 复制你的actions代码到容器指定目录
COPY ./actions /app/actions

方式2:用requirements.txt管理依赖(推荐)

先在项目根目录创建requirements.txt,写入:

requests==2.31.0

然后编写Dockerfile:

FROM rasa/rasa-sdk:3.6.2

USER root
# 复制依赖文件到容器临时目录
COPY requirements.txt /tmp/requirements.txt
# 用虚拟环境的pip安装所有依赖
RUN /opt/venv/bin/pip install -r /tmp/requirements.txt
USER 1001

COPY ./actions /app/actions

二、Docker Compose配置方案

如果不想修改Dockerfile,可在docker-compose.yml中通过命令临时安装(不推荐,每次启动容器都会重复安装):

version: '3.8'
services:
  action_server:
    image: rasa/rasa-sdk:3.6.2
    command: bash -c "/opt/venv/bin/pip install requests && rasa run actions"
    volumes:
      - ./actions:/app/actions
    ports:
      - "5055:5055"

推荐优先使用Dockerfile构建镜像,避免每次启动的重复安装开销。

验证方法

启动容器后,可通过以下命令进入容器检查依赖是否安装成功:

docker exec -it <容器ID> /bin/bash
/opt/venv/bin/pip list | grep requests

如果能看到requests的版本信息,说明安装成功。

内容的提问来源于stack exchange,提问作者Diego A. Hernandez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:27:04