파이썬 업데이트(버전2 -> 버전3) 후 yum 에서 SyntaxError가 발생한다.
안녕하세요, 임채정입니다.
저번에 파이썬을 업데이트 했는데 yum에서 에러가 발생했습니다.
이번 블로그에서는 해당 에러를 해결해보겠습니다.
에러 발생 경로
python 2.7 에서 3.8 로 업데이트한 후로 에러 발생
yum 에러
에러를 다음과 같습니다.
yum update # File "/usr/bin/yum", line 30 # except KeyboardInterrupt, e: # ^ # SyntaxError: invalid syntax
원인은 alternatives를 사용하여 "2.7"에서 "3.8"로 버전 업을 하면서 python 2.7 에 대한 심볼릭 링크를 python 3.8 에 억지로 이어붙였더니 생긴 에러 같습니다.
해결방법은 크게 두 개로 나눨 수 있을 것같습니다.
1. python 버전을 python 2.7 로 다시 변경한다.
변경 방법은 다음과 같습니다.
python 2.7 으로 다시 변경해주면 다음과 같이 yum 명령어를 문제없이 사용할 수 있게됩니다.
sudo yum update # Loaded plugins: extras_suggestions, langpacks, priorities, update-motd # amzn2-core | 3.7 kB 00:00:00 # No packages marked for update
2. 무조건 python 3.8 을 사용하고 싶은 경우 설정파일을 수정한다.
/usr/bin/yum
파일에서 /usr/bin/python
-> /usr/bin/python2
로 수정합니다.
sudo vi /usr/bin/yum #!/usr/bin/python import sys try: import yum except ImportError: print >> sys.stderr, """\ There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: %s Please install a package which provides this module, or verify that the module is installed correctly. It's possible that the above module doesn't match the current version of Python, which is: %s If you cannot solve this problem yourself, please go to the yum faq at: http://yum.baseurl.org/wiki/Faq """ % (sys.exc_value, sys.version)
이렇게 수정을 한 후에 돌아와서 yum 명령어를 실행시켜보면
sudo yum update # Loaded plugins: extras_suggestions, langpacks, priorities, update-motd # amzn2-core | 3.7 kB 00:00:00 # No packages marked for update
다음과 같이 잘 yum 명령어가 잘 실행됩니다.
물론 개인적으로는 2번째 방법보다 1번째 방법이 안전하고 쉽기 때문에 추천드리지만 상황에 따라서 자신에게 맞는 방식을 선택해 해결면 좋을 것같습니다!
본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다!