离线环境安装pip报错ModuleNotFoundError: No module named 'distutils.cmd'求助
解决离线环境安装pip 23.0.1时
distutils.cmd缺失的问题 问题根源
报错ModuleNotFoundError: No module named 'distutils.cmd'是因为你的Python 3.9环境缺少distutils模块,而pip 23.0.1的运行依赖该模块。以下是针对不同场景的离线解决方案:
1. 系统包管理器安装distutils(Linux发行版适用)
根据你的系统类型,从联网机器下载对应离线包,传输到离线机器后安装:
- Debian/Ubuntu 系:
在联网的同版本系统上执行apt download python3-distutils获取.deb包及依赖,离线机运行:dpkg -i python3-distutils_*.deb - RHEL/CentOS/Rocky Linux 系:
在联网的同版本系统上执行yumdownloader python39-distutils获取.rpm包,离线机运行:rpm -ivh python39-distutils-*.rpm
2. 源码补装distutils(自定义编译Python适用)
如果你的Python是源码编译安装的,可能编译时未包含distutils:
- 下载对应Python3.9版本的源码包,解压后进入
Lib/distutils目录 - 将整个
distutils目录复制到离线机的/usr/lib/python3.9/distutils路径下 - 或者重新编译Python,添加
--with-distutils参数:./configure --with-distutils make && make install
3. 重新安装pip 23.0.1
解决distutils依赖后,选择以下方式重新安装:
- 使用whl包:
执行原命令即可:python3 pip-23.0.1-py3-none-any.whl/pip install --no-index pip-23.0.1-py3-none-any.whl - 使用源码包:
先提前从联网机器下载兼容的setuptools包并离线安装,然后执行:tar -xf pip-23.0.1.tar.gz cd pip-23.0.1 python3 setup.py install
内容的提问来源于stack exchange,提问作者capple
相关产品推荐
相关产品推荐

