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

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无法正常写入字节码文件

临时解决方案

如果暂时无法定位环境问题,可尝试以下两种方式:

  1. 跳过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'
    
  2. 直接安装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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 06:45:19