Pipenv版本>2021.11.23在Docker容器中无法安装包的问题
解决Pipenv高版本导致Docker容器内包安装失败的问题
问题背景
基于Ubuntu 20.04构建Docker镜像时,此前依赖包安装流程正常,近期突然出现安装失败。经排查确认:当Pipenv版本大于2021.11.23时,无法在Docker容器中完成软件包安装。
相关配置文件
Dockerfile
FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=nonintercative RUN apt-get update && apt-get install --no-install-recommends -y git python3.9 python3-pip python3.9-dev curl python3-dev gcc libcurl4-openssl-dev libssl-dev jq && apt-get clean && rm -rf /var/lib/apt/lists/* RUN cp /usr/share/zoneinfo/Asia/Kolkata /etc/localtime && echo "Asia/Kolkata" > /etc/timezone && mkdir -p /var/run/celery && mkdir -p /var/log/celery/ && mkdir -p /var/www/oms && ln -s /usr/bin/python3 /usr/bin/python RUN pip install pipenv && pip install -U setuptools && pip install --upgrade awscli WORKDIR /var/www/oms/ COPY . . RUN pipenv install --system --deploy
Pipfile
[[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] celery="==5.2.3" [dev-packages] [requires] python_version = "3.9"
解决方案
方案1:锁定兼容的Pipenv版本
直接指定安装验证过的稳定版本,修改Dockerfile中安装Pipenv的命令:
pip install pipenv==2021.11.23
该方案能快速恢复正常构建流程,避免高版本Pipenv的兼容性问题。
方案2:适配高版本Pipenv(可选)
若需使用新版Pipenv,可尝试以下调整:
- 安装Pipenv前先升级pip:
pip install --upgrade pip - 在
pipenv install命令后添加--verbose参数,查看具体错误日志定位根源 - 确认容器内Python 3.9环境满足新版Pipenv的最低版本要求
- 可尝试更换Pipfile中的PyPI源为国内镜像,加速包下载并避免网络问题
内容的提问来源于stack exchange,提问作者Tailor Devendra
相关产品推荐
相关产品推荐

