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

执行python2 -m pip freeze报错,已卸载Python2并排查路径

解决Python2 pip执行报错:cannot import name HashMissing; 'pip' is a package and cannot be directly executed

看起来你这个问题是卸载Python2的时候没清理干净,残留的损坏pip文件搞出来的bug。我来给你一步步解决:

第一步:彻底清理残留的Python2和pip文件

从whereis python的输出能看出来,系统里还留着Python2.7的相关文件,而且pip的包结构已经被破坏了,得先彻底清干净:

  • 先卸载所有剩余的Python2相关包:
    sudo apt-get remove --purge python2.7 python2.7-minimal python-pip python2-pip
    
  • 接着清理残留的配置文件和没用的依赖:
    sudo apt-get autoremove --purge
    sudo apt-get clean
    
  • 最后手动删掉剩下的Python2和pip相关文件(如果还存在的话):
    sudo rm -rf /usr/lib/python2.7/
    sudo rm -rf /usr/local/lib/python2.7/
    sudo rm /usr/bin/python2 /usr/bin/python2.7
    sudo rm -rf /usr/local/bin/pip2 /usr/bin/pip2
    

第二步:验证清理是否完成

执行下面的命令确认残留文件都清掉了:

whereis python2
which pip2

如果这两个命令都没有输出相关路径,说明清理干净了。

如果你确实还需要Python2和pip(不推荐,Python2已经停止维护了)

要是你真的还得用Python2,那重新完整安装一遍:

  • 先更新软件源:
    sudo apt-get update
    
  • 安装Python2.7和对应的pip:
    sudo apt-get install python2.7 python2-pip
    
  • 把pip2升级到最后支持Python2的版本(避免版本兼容问题):
    python2 -m pip install --upgrade pip==20.3.4
    

这时候再执行python2 -m pip freeze应该就能正常运行了。

问题根源解释

之前的apt-get remove --purge命令没完全删掉所有Python2和pip的文件,残留的pip包文件已经损坏,导致执行python2 -m pip的时候找不到必要的HashMissing模块,同时系统还能找到Python2的可执行文件,就触发了这个奇怪的报错。

内容的提问来源于stack exchange,提问作者jefferyear

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:20:21