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

Python 2.7.15执行get-pip.py报错:ImportError: No module named _collections

问题原因与排查方案

核心原因:PYTHONHOME和PYTHONPATH配置错误

你遇到的ImportError: No module named _collections以及无法导入time模块的问题,根源在于PYTHONHOME和PYTHONPATH的设置完全不符合Python的预期:

  • PYTHONHOME应该指向Python的安装根目录(即~/python2715),但你却设置成了lib子目录和site-packages路径。这个环境变量是Python用来定位自身核心库和扩展模块的基准路径,错误的设置会让Python找不到_collections、time这类内置C扩展模块的实际存储位置(它们通常在~/python2715/lib/python2.7/lib-dynload下)。
  • PYTHONPATH是用来添加自定义模块搜索路径的,不需要包含Python自带的lib/python2.7或site-packages——Python启动时会自动扫描这些默认路径。你添加的路径反而干扰了Python的正常模块搜索逻辑。

另外,os、sys能正常导入是因为它们是直接嵌入到Python二进制文件中的最核心模块,不受PYTHONHOME错误配置的影响。

修复步骤

  1. 修正PYTHONHOME
    把它设置为Python的安装根目录:

    export PYTHONHOME=~/python2715
    

    如果你想永久生效,把这行添加到你的shell配置文件(比如~/.bashrc或~/.zshrc)中,然后执行source ~/.bashrc(对应你的配置文件)刷新环境。

  2. 调整PYTHONPATH
    删除不必要的默认路径,只保留你自己的自定义模块目录(如果有的话):

    # 比如只有自定义模块目录的话:
    export PYTHONPATH=~/my_custom_python_modules
    # 如果不需要自定义路径,可以直接清空:
    unset PYTHONPATH
    
  3. 验证修复效果
    重启终端后,运行以下命令测试:

    python -c "import time; import _collections; print('模块导入成功')"
    

    如果没有报错,再重新执行python get-pip.py --user即可正常安装pip。

还需检查的内容

  • PATH环境变量:确保~/python2715/bin在PATH的最前面,避免系统自带的Python版本干扰当前安装的Python 2.7.15。可以通过echo $PATH查看,若位置不对,调整为:
    export PATH=~/python2715/bin:$PATH
    
  • Python模块路径完整性:运行python -c "import sys; print('\n'.join(sys.path))",检查输出中是否包含以下路径:
    • ~/python2715/lib/python2.7
    • ~/python2715/lib/python2.7/lib-dynload
    • ~/python2715/lib/python2.7/site-packages
      如果缺失,说明环境变量仍未配置正确。
  • 安装目录权限:确保你对~/python2715及其子目录有读取权限,避免因权限不足导致无法加载模块。可以用ls -ld ~/python2715查看权限,必要时用chmod -R u+r ~/python2715赋予读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:07:19