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

Docker安装Python版本错误:CUDA镜像中3.10显示为3.8

问题分析与解决方案

核心问题

你的Dockerfile存在几个关键错误,导致最终运行的仍是Python 3.8:

  • 软链接指向了系统默认的python3(Ubuntu 20.04自带的3.8版本),而非你安装的python3.10
  • 安装的python3-pip对应系统默认Python 3.8,而非Python 3.10
  • Poetry安装时使用的是python3(3.8),导致后续环境绑定了旧版本

修正后的Dockerfile

FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04
WORKDIR /app
COPY . .

# 更新源并安装Python3.10及对应pip
RUN apt-get update && DEBIAN_FRONTEND=noninteractive \
    apt-get install -y python3.10 python3.10-pip

# 将python、python3软链接指向python3.10
RUN ln -fs /usr/bin/python3.10 /usr/bin/python3 && \
    ln -fs /usr/bin/python3.10 /usr/bin/python

# 确保pip3指向python3.10的pip
RUN ln -fs /usr/bin/pip3.10 /usr/bin/pip3

# 用python3.10安装Poetry
RUN curl -sSL https://install.python-poetry.org | python3.10 - --preview

# 升级requests(此时pip3已对应3.10)
RUN pip3 install --upgrade requests

CMD ["python", "--version"]

关键修改说明

  1. 替换python3-pip为python3.10-pip:直接安装对应Python 3.10的pip工具,避免和系统默认版本混淆
  2. 修改软链接目标:直接将python和python3链接到python3.10,确保全局调用的都是你安装的版本
  3. 指定Python3.10安装Poetry:避免Poetry绑定到旧版本Python环境
  4. 修正pip3软链接:确保pip3命令也对应Python 3.10的包管理工具

额外验证步骤

构建镜像后,可临时进入容器检查版本:

docker run --rm -it <你的镜像名> bash
# 执行以下命令确认版本一致
python --version
python3 --version
pip3 --version

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 17:45:06