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

OS X系统下awscli无法运行,始终报ImportError缺失awscli_plugin_endpoint

解决brew upgrade后awscli提示ImportError: No module named awscli_plugin_endpoint的问题

我之前也碰到过一模一样的糟心事!brew升级后直接把awscli的依赖环境搞乱了,尤其是这个awscli_plugin_endpoint模块的报错,本质是brew管理的Python环境和你自己用pyenv/virtualenv的环境冲突,或者旧插件残留、版本不兼容导致的。试试下面这些步骤,应该能搞定:

  • 彻底清理brew相关的awscli残留
    先把brew安装的awscli完全卸掉,避免它干扰你的自定义环境:

    brew uninstall awscli
    brew cleanup python
    

    另外可以备份并重置aws的配置文件(如果怀疑是配置里的插件引用出问题):

    mv ~/.aws ~/.aws.bak
    
  • 用pyenv搭建干净的Python环境重装awscli
    确保pyenv切换到你需要的Python版本,然后从头安装:

    # 切换目标Python版本
    pyenv local 3.6.4
    # 升级pip到最新版
    pip install --upgrade pip
    # 安装指定版本的awscli(比如你试过的1.14.65)
    pip install awscli==1.14.65
    # 重新安装兼容的endpoint插件
    pip install awscli-plugin-endpoint
    

    装完后验证一下:

    aws --version
    # 试一个基础命令看是否正常
    aws s3 ls
    
  • 重置virtualenv环境(如果之前用了virtualenv)
    旧的virtualenv可能已经被brew升级污染了,直接重建:

    # 删除旧环境
    rm -rf ~/path/to/your/old-virtualenv
    # 基于pyenv的Python版本创建新环境
    virtualenv -p $(pyenv which python) ~/path/to/new-virtualenv
    # 激活新环境
    source ~/path/to/new-virtualenv/bin/activate
    # 重复上面的pip安装步骤
    
  • 检查PATH优先级,确保调用的是你安装的awscli
    有时候brew的Python路径还在PATH前面,导致系统调用的是brew版本的awscli,检查并调整:

    # 查看PATH顺序
    echo $PATH
    

    确保~/.pyenv/shims在PATH的最前面,如果不是,修改你的shell配置文件(.bashrc或.zshrc),把eval "$(pyenv init -)"放在所有PATH配置的最后,保证pyenv的路径优先级最高。

如果以上步骤都不行,你可以手动找到pyenv对应Python版本的site-packages目录(比如~/.pyenv/versions/3.6.4/lib/python3.6/site-packages),删掉里面的awscli和awscli_plugin_endpoint文件夹,然后重新用pip安装一遍,应该就能彻底解决了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:26:57