使用tensorflow==2.0.0构建docker镜像时报找不到匹配版本错误如何解决
问题原因
- 你当前Dockerfile中基于Ubuntu 18.04安装的
python3-pip默认版本为9.x,低于TensorFlow 2.0+要求的最低pip版本(19.0)。 - 低于19.0版本的pip不支持
manylinux2010格式的预编译wheel包,而TensorFlow 2.0及后续版本的官方发布包均采用该格式,因此pip索引时仅能识别到1.14.0及更早版本的TensorFlow包,无法匹配到2.0.0版本。 - 此前构建正常是因为旧的软件源或PyPI索引规则暂时兼容旧版本pip的拉取逻辑,随着源端规则迭代,老版本pip已无法拉取到对应格式的安装包。
解决方案
修改Dockerfile,在安装python3-pip后先将pip升级到最后一个兼容Python3.6的版本(21.3.1),再执行依赖安装即可,修改后的Dockerfile参考如下:
FROM --platform=linux/amd64 ubuntu:18.04 RUN apt-get update \ && apt-get install -y apt-utils \ python3.6 \ python3-pip \ libsm6 \ libxext6 \ libxrender-dev \ net-tools \ iputils-ping \ nano \ # 升级pip到兼容Python3.6的最新版本 && pip3 install --upgrade pip==21.3.1 WORKDIR /app COPY . /app RUN pip3 install -r requirements.txt
内容的提问来源于stack exchange,提问作者arush1836
相关产品推荐
相关产品推荐

