AWSInfra

[Mac OS] AWS CLI bad interpreter 에러 발생 시 해결 방법

MacOS에서 AWS CLI 사용하는데 bad interpreter 에러가 발생하였다.
정확한 에러 메시지는 zsh: /usr/local/bin/aws: bad interpreter: /usr/local/opt/python/bin/python3.7: no such file or directory이다. (참고로 나는 zsh을 사용한다.)

AWS CLI도 brew를 이용해서 설치했고, python3는 별도로 설치한 기억이 없다. (있나?)
아무튼 이전에도 잘 돌아가던 것이 작동하지 않아서 당황하였다. 어디서부터 확인해야 할지 몰라서 구글링을 했었는데 역시나 해결 방법이 바로 찾아졌다.
이 글을 읽고 있는 분도 아마 동일한 문제를 겪어서 왔을 것이라 생각한다.

해결 방법은 매우 간단하였다. 일단 원인을 이야기하자면, 내가 찾은 블로그에서는 오류의 원인은 awscli를 설치했을 때는 Python이 3.6이었는데 Python이 3.7로 업그레이드되어서 발생 한 것이라고 했다. 그리고 그 해결 방법을 아래와 같이 brew를 이용해서 재설치 하고 awsclilink를 다시 설정 해 주면 된다고 하였다.

This is because you’ve probably installed awscli in the past, but more recently upgraded your system Python to version 3.7, not 3.6 (which old versions of awscli worked with).

오류 해결 방법

  1. awscli 재설치

    brew reinstall awscli
    

  2. awscli의 링크 재설정

    brew link --overwrite awscli
    
    # 아래처림 결과 메시지가 나오면 성공
    # Linking /usr/local/Cellar/awscli/2.0.38... 7 symlinks created
    
  3. aws 커맨드 명령으로 확인

    aws
    

명령어 입력 2번으로 매우 간단하게 해결되었다.
며일 전에 brew update & brew upgrade명령을 별생각 없이 입력했었는데, 그때 python이 같이 업데이트되면서 awscli에서 사용되는 pythoon의 경로가 변경된 거 같다.

참고사이트