在无公网访问的GCP Vertex AI环境中,构建含Python3.9+及指定依赖的Docker镜像失败求助
在无公网访问的GCP Vertex AI环境中,构建含Python3.9+及指定依赖的Docker镜像失败求助
嗨,我完全懂你碰到的问题!你确实装了Python3.9,但系统默认的Python版本还是旧的,而且pip命令依然绑定在旧版本上——这就导致安装prince==0.9.0时,它检测到的Python版本不满足>=3.9的要求,所以才会报找不到匹配版本的错误。
下面给你两个实用的解决思路,核心都是让安装依赖的pip指向Python3.9环境:
方法一:把Python3.9设为系统默认版本
修改你的Dockerfile,在安装Python3.9后,通过系统工具把它设为默认Python,同时安装对应版本的pip:
FROM gcr.io/deeplearning-platform-release/base-cpu:latest # 安装Python3.9及对应版本的pip RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository -y ppa:deadsnakes/ppa && \ apt-get update && \ apt install -y python3.9 python3.9-pip && \ # 将Python3.9设为默认python3 update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 && \ # 将pip3.9设为默认pip3 update-alternatives --install /usr/bin/pip3 pip3 /usr/bin/pip3.9 1 && \ # 让pip命令也指向pip3.9 ln -s /usr/bin/pip3.9 /usr/bin/pip # 现在用绑定到Python3.9的pip安装所有依赖 RUN pip install gower kmodes ray prince==0.9.0
方法二:直接指定用Python3.9的pip安装
如果不想改动系统默认的Python版本,也可以直接用pip3.9来执行安装命令,确保依赖安装在Python3.9环境里:
FROM gcr.io/deeplearning-platform-release/base-cpu:latest RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository -y ppa:deadsnakes/ppa && \ apt-get update && \ apt install -y python3.9 python3.9-pip # 直接用pip3.9安装所有依赖包 RUN pip3.9 install gower kmodes ray prince==0.9.0
另外提一句,因为你的环境没有公网访问,如果后续构建时碰到依赖下载失败的问题,可以提前把所有需要的依赖包下载到本地,用COPY命令复制到镜像里,再通过pip install --no-index --find-links=./本地依赖路径来安装。不过先搞定Python版本的问题,应该就能解决当前的报错了!
备注:内容来源于stack exchange,提问作者elAndrez3000
相关产品推荐
相关产品推荐

