使用pip命令时持续出现AttributeError: find_module错误求助
解决Debian 7下pip命令全部报AttributeError: find_module的问题
步骤1:排查sitecustomize/usercustomize配置文件错误
报错提示sitecustomize和usercustomize模块存在问题,这两个文件是Python启动时自动加载的自定义脚本,大概率是其中代码调用了不存在的find_module方法导致异常。
- 定位这两个文件的路径:
# 查看系统级site包目录 python -c "import site; print(site.getsitepackages())" # 查看用户级site包目录 python -c "import site; print(site.getusersitepackages())" - 进入上述输出的目录,检查是否存在
sitecustomize.py或usercustomize.py文件:- 可直接删除这两个文件(建议先备份)
- 或者打开文件,删除所有涉及
find_module的代码段
步骤2:临时跳过site模块加载,修复pip
如果暂时不想处理配置文件,可使用Python的-S参数跳过site模块自动加载,强制运行pip:
python -S /usr/local/bin/pip --version
若该命令能正常执行,说明配置文件是问题根源,接下来重新安装pip:
- 卸载损坏的pip:
python -S /usr/local/bin/pip uninstall -y pip - 使用Debian系统包管理器安装官方维护的pip:
apt-get update && apt-get install python-pip - 由于Debian 7默认Python版本为2.7,新版本pip不再支持该版本,升级到兼容的最后版本:
pip install --upgrade pip==9.0.3
步骤3:手动重新安装pip(上述方法无效时)
如果连python -S都无法运行pip,直接通过官方脚本重新安装:
- 下载兼容Python 2.7的get-pip脚本:
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py - 执行脚本安装指定版本的pip:
python get-pip.py pip==9.0.3 - 验证安装:
pip --version
内容的提问来源于stack exchange,提问作者Nick Sciarretta
相关产品推荐
相关产品推荐

