Ubuntu Docker镜像安装python-pkg-resources时卡住的问题求助
Ubuntu 22.04容器安装python-pkg-resources卡在pycompile步骤的排查方案
问题复现
- 执行命令:
docker run -it docker.io/library/ubuntu:22.04 bash -c 'apt-get -y update && apt-get -y install python-pkg-resources' - 卡在
Setting up python-pkgresources阶段,对应进程/usr/bin/python2 /usr/bin/pycompile -p python-pkg-resources持续占用1个CPU核心 - 已尝试:更换Ubuntu/Debian版本、切换Docker存储后端、重启Docker并删除
/var/lib/docker目录,均无效 - 现象无规律:部分同事机器正常,部分同环境机器卡顿
关键排查方向(针对Docker环境差异)
因为问题不是通用Bug,重点查本地Docker环境的特殊配置:
1. Docker资源限制与CPU调度
- 检查是否给Docker容器设置了CPU核心限制,比如
--cpus参数默认值或全局配置,pycompile是单进程任务,若CPU被严格限制可能导致执行缓慢(看似卡住) - 查看
docker info里的CPUs、CPU Architecture、NCPU字段,同时检查宿主机的CPU调度设置(如taskset、cgroup配置)
2. 网络与镜像源问题
- 部分机器可能存在镜像源延迟或包校验问题,导致pycompile依赖的文件未完整下载
- 尝试替换国内源执行安装:
docker run -it docker.io/library/ubuntu:22.04 bash -c 'sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list && apt-get -y update && apt-get -y install python-pkg-resources' - 检查容器内
/var/lib/dpkg/info/python-pkgresources.postinst脚本,确认pycompile是否在处理异常的Python字节码文件
3. Docker宿主机的文件系统与IO性能
- 卡顿机器的宿主机是否使用了性能较差的存储介质(如机械硬盘),pycompile需要大量IO操作生成
.pyc文件,IO瓶颈会导致进程假死 - 查看
docker info中的Storage Driver配置,确认存储后端的实际IO性能(比如overlay2是否开启异步IO)
4. Python2环境的潜在冲突
- Ubuntu 22.04中Python2是兼容包,pycompile可能与宿主机或容器内残留的Python环境变量冲突
- 尝试清理环境变量后安装:
docker run -it docker.io/library/ubuntu:22.04 bash -c 'unset PYTHONPATH PYTHONHOME && apt-get -y update && apt-get -y install python-pkg-resources' - 检查容器内
/usr/lib/python2.7目录是否存在损坏或异常的模块文件
5. Docker daemon的特殊配置
- 查看
docker info中的Security Options,是否开启了AppArmor、SELinux等安全模块,这些模块可能限制pycompile的文件操作权限 - 检查是否开启了Docker的
--userns-remap用户命名空间映射,权限映射可能导致pycompile无法正常写入字节码文件
临时解决方案
如果暂时无法定位环境问题,可尝试以下两种方式:
- 跳过pycompile步骤完成安装:
docker run -it docker.io/library/ubuntu:22.04 bash -c 'apt-get -y update && apt-get -y install python-pkg-resources && dpkg --configure -a --skip-same-version' - 直接安装Python3版本的对应包(推荐,Python2已停止维护):
docker run -it docker.io/library/ubuntu:22.04 bash -c 'apt-get -y update && apt-get -y install python3-pkg-resources'
内容的提问来源于stack exchange,提问作者Sahib
相关产品推荐
相关产品推荐

