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

Windows下Docker Compose启动容器时出现导入错误求助

问题排查与解决方案

问题根源

你遇到的错误和相对导入无关,本质是依赖版本不兼容导致的:

  • 旧版本的Pydantic(1.x系列)在Python 3.11环境下,无法处理以Python关键字(如from)作为模型字段名的情况。
  • aiogram的部分旧版本(如2.x)中,CallbackQuery模型包含from字段,触发了Pydantic与Python3.11的兼容性冲突,最终抛出ValueError: 'from' is not a valid parameter name。

解决方案

根据你的需求选择以下两种方案之一:

方案1:升级依赖适配Python3.11

如果要保留Python3.11环境,需要升级到兼容的aiogram和Pydantic版本:

  1. 修改项目的依赖文件(如requirements.txt):
    aiogram>=3.0
    pydantic>=2.0
    loguru>=0.7.0
    
  2. 重新构建Docker镜像并启动容器:
    docker-compose build --no-cache
    docker-compose up
    

方案2:降级Python版本适配旧依赖

如果要保留原有的aiogram 2.x版本,需要将Docker中的Python版本降到3.10及以下:

  1. 修改Dockerfile中的基础镜像,比如:
    FROM python:3.10-slim
    
  2. 调整依赖文件为适配版本:
    aiogram~=2.25
    pydantic~=1.10
    loguru>=0.7.0
    
  3. 同样重新构建并启动容器:
    docker-compose build --no-cache
    docker-compose up
    

关于相对导入的说明

你代码中的相对导入from .config import config等写法是正确的:run.py在项目根目录导入src.main后,src/main.py作为src包的模块,使用相对导入访问同包内的其他模块完全符合Python规范,和当前错误没有关联。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:35:04