Python3을 사용하여 Python2가 필요한 프로그램을
python
중단하지 않고 RHEL7 VM에서 호출된 명령을 해석하려면 어떤 특정 구문을 변경하거나 추가해야 합니까?yum
첫 시도:
cloud-init
첫 번째 시도는 가상 머신을 인스턴스화하는 시작 스크립트 끝에 다음 두 줄을 추가하는 것이었습니다.
rm /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
결과 오류:
cloud-init
문제는 위의 두 줄을 시작 스크립트 끝에 추가하면 yum
다음과 같이 후속 호출에서 명령이 중단된다는 것입니다.yum
$ sudo yum update -y
File "/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
$
전환 오류:
cloud-init
시작 스크립트에서 위의 두 줄을 제거하고 새 대체 가상 머신을 다시 인스턴스화하여 오류를 닫을 수 있습니다. 이를 통해 문제의 원인을 격리할 수 있지만 python
Python3을 깨지 않고 기본값으로 설정하는 방법에 여전히 직면해 있습니다 yum
.
답변1
다음은 긴급 상황에서 사용할 수 있는 빠른 팁입니다.
sed -i 1s/python/python2/ /bin/yum
나는 그것을 해결책으로 사용하지 않을 것입니다. 그것은 단지 고쳐질 수 있는 불일치를 생성합니다 yum
. python2에 의존하는 다른 시스템이나 다른 도구가 있을 가능성이 높습니다. 그냥 내 0.02.