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

Docker环境下FastAPI项目无法安装Pokemon TCG SDK问题排查

问题:Docker部署的FastAPI项目无法导入Pokemon TCG SDK

我在基于FastAPI构建的后端项目中集成Pokemon TCG API的Python SDK,采用Docker部署。项目能正常启动,但在路由文件中导入pokemontcgsdk时提示ModuleNotFoundError: No module named 'pokemontcgsdk'。

我的配置文件内容

requirements.txt

fastapi[all]==0.81.0
uvicorn[standard]==0.17.6
pytest
pymongo==4.3.3
jwtdown-fastapi>=0.2.0
pytest==7.1.2
black==23.3.0
pokemontcgsdk

Dockerfile.dev

FROM python:3.10-bullseye
RUN python -m pip install --upgrade pip
ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.9.0/wait /wait
RUN chmod +x /wait
WORKDIR /deps
COPY requirements.txt requirements.txt
RUN python -m pip install -r requirements.txt
WORKDIR /app
CMD /wait && uvicorn main:app --reload --host 0.0.0.0

docker-compose.yaml

volumes:
  mongo-data:
    external: true
services:
  mongo:
    image: mongo:6
    volumes:
      - mongo-data:/data/db
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: password
  fastapi:
    build:
      context: PokemonTCG
      dockerfile: Dockerfile.dev
    ports:
      - 8000:8000
    volumes:
      - ./PokemonTCG:/app
    environment:
      MONGO_URL: mongodb://admin:password@mongo
      WAIT_HOSTS: mongo:27017
      WAIT_BEFORE: 5
      WAIT_TIMEOUT: 60

路由测试代码

from fastapi import(
    Response,
    APIRouter,
    Request
)
import requests
from pokemontcgsdk import(
    Card,
    Set,
    Type,
    Supertype,
    Subtype,
    Rarity
)

解决方案

1. 检查依赖安装日志

重新构建镜像并查看安装过程:

docker-compose build fastapi

重点查看pip install -r requirements.txt步骤,确认pokemontcgsdk是否成功安装。如果出现网络超时或找不到包的错误,可在Dockerfile的pip安装命令中添加国内镜像源:

RUN python -m pip install -r requirements.txt --index-url https://pypi.tuna.tsinghua.edu.cn/simple

2. 指定SDK具体版本

在requirements.txt中添加SDK的具体版本号(比如当前最新稳定版1.3.6),避免版本匹配问题:

pokemontcgsdk==1.3.6

3. 检查本地挂载目录是否存在同名文件夹

确保本地PokemonTCG目录下没有名为pokemontcgsdk的文件夹,否则Python会优先尝试导入本地目录中的模块,而非系统安装的SDK包。

4. 调整Dockerfile工作目录逻辑

将依赖安装步骤切换到/app目录执行,避免潜在的路径问题:

FROM python:3.10-bullseye
RUN python -m pip install --upgrade pip
ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.9.0/wait /wait
RUN chmod +x /wait
WORKDIR /app
COPY requirements.txt .
RUN python -m pip install -r requirements.txt
CMD /wait && uvicorn main:app --reload --host 0.0.0.0

内容的提问来源于stack exchange,提问作者Tahmid Baro Bhuiyan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:57:06