Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 후기
- Python
- 보안 규칙
- cicd
- direnv
- MIG
- Clean Code
- IAM
- gcp
- 자격증
- AWS
- Terraform Cloud
- vpc peering
- Uptime Check
- github
- Google Cloud Platform
- docker
- vm
- 우테캠
- devops
- VAGRANT
- cloud function
- Java
- pub/sub
- interconnect
- terraform
- cloud armor
- CentOS
- cloud
- kubernetes
Archives
- Today
- Total
EMD Blog
Python 버전에 따른 에러 발생 본문
반응형
GCP CLI 설치와 설정이 끝난 후 gcloud를 실행시키면 아래와 같은 에러가 발생하는 상황이 생길 수 있음.
Unable to connect to the server: error executing access token command "/usr/lib64/google-cloud-sdk/bin/gcloud config config-helper --format=json": err=exit status 1 output= stderr=Traceback (most recent call last):
File "/usr/lib64/google-cloud-sdk/lib/gcloud.py", line 104, in
main()
File "/usr/lib64/google-cloud-sdk/lib/gcloud.py", line 62, in main
from googlecloudsdk.core.util import encoding
File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/init.py", line 23, in
from googlecloudsdk.core.util import importing
File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/core/util/importing.py", line 23, in
import imp
File "/usr/lib64/python3.9/imp.py", line 23, in
from importlib import util
File "/usr/lib64/python3.9/importlib/util.py", line 2, in
from . import abc
File "/usr/lib64/python3.9/importlib/abc.py", line 17, in
from typing import Protocol, runtime_checkable
File "/usr/lib64/python3.9/typing.py", line 26, in
import re as stdlib_re # Avoid confusion with the re we export.
File "/usr/lib64/python3.9/re.py", line 124, in
import enum
File "/usr/lib64/google-cloud-sdk/lib/third_party/enum/init.py", line 26, in
spec = importlib.util.find_spec('enum')
AttributeError: module 'importlib' has no attribute 'util'
이 같은 에러는 python 버전이 맞지 않아 발생하는 에러로 위 로그를 보면 python3.9를 사용해서 실행하고 있음.
하지만 gcloud는 3.7, 3.8만 지원(또는 2.7.9 이상)하므로 버전을 바꿔주어야 정상적으로 사용할 수 있음.
먼저 python3.8이 설치되어 있는지 확인함.
$ ls -l /usr/local/opt/ | grep python
또는
$ brew list | grep python
만약에 python3.7 또는 3.8이 없다면 설치.
$ brew install python@3.8
설치가 끝났으면 3.8버전을 사용하도록 환경변수를 설정해주고 python 명령어가 python3.8 버전을 가리키도록 alias를 설정
.zshrc 또는 .bashrc에 아래 내용을 추가
export PATH="/usr/local/opt/python@3.8/bin:$PATH"
alias python=/usr/local/opt/python@3.8/bin/python3
이후 수정한 내용을 반영 후 작동여부를 확인
$ source .zshrc
$ gcloud -v
Google Cloud SDK 308.0.0
bq 2.0.60
core 2020.08.28
gsutil 4.53
반응형
'Public Cloud > GCP' 카테고리의 다른 글
서비스 계정의 Access Key File을 이용한 인증 (0) | 2022.09.03 |
---|---|
Shared VPC 사용 시 Service Project에서 접근 권한이 없을 경우 (0) | 2022.09.03 |
GCP Interconnect (0) | 2022.09.03 |
GCP 감사 로그 관련 문서 모음 (0) | 2022.09.03 |
GCP KMS (0) | 2022.09.03 |