저는 Fedora 21을 사용하고 있습니다. 이유는 묻지 마세요. 하지만 두 가지 버전의 Python 2.x가 설치되어 있습니다. "python"을 사용하여 터미널에서 호출하면 다음과 같은 결과가 나오므로 두 가지 다른 버전이 있다고 말할 수 있습니다.
Python 2.7.9(기본값, 2017-02-18, 17:18:34)
linux2의 [GCC 4.9.2 20150212 (Red Hat 4.9.2-6)]
자세한 내용을 보려면 도움말, 저작권, 크레딧 또는 라이센스를 입력하세요.
제가 "python"으로 호출하는 버전은 "/usr/local/bin/python"이라는 점을 추가하고 싶습니다. 반면에 "/usr/bin/python"으로 호출하면 다음과 같은 결과를 얻습니다.
Python 2.7.8(기본값, 2015-09-24, 18:25:44)
linux2의 [GCC 4.9.2 20150212 (Red Hat 4.9.2-6)]
자세한 내용을 보려면 도움말, 저작권, 크레딧 또는 라이센스를 입력하세요.
게다가 동일한 라이브러리/모듈에 액세스할 수 없는 것 같습니다. 예를 들어, SciPy와 "python"을 사용하여 스크립트를 실행하면 오류가 발생하지만 "/usr/bin/python"을 사용하여 스크립트를 실행하면 오류가 발생하지 않습니다.
그렇다면 "python"으로 호출할 때 실행 중인 버전을 제거하고 "/usr/bin/python"으로 호출된 버전을 유지하려면 어떻게 해야 할까요? 또한 간단한 "python"을 사용하여 현재 "/usr/bin/python"을 사용하여 호출하고 있는 것을 호출하고 싶습니다.
답변1
어떤 RPM이 설치되어 있는지 확인하여 /usr/local/bin/python 아래에서 해당 RPM을 제거해 볼 수 있습니다.
rpm -f /usr/local/bin/python
버전이 있으면 이를 호출합니다.
다른 두 가지 옵션은 다음과 같습니다.
a) /usr/bin이 /usr/local/bin 앞에 오도록 PATH 변수를 수정합니다.
b) "python"을 "/usr/bin/python"으로 별칭 지정합니다.
답변2
Python 중 하나를 제거할 실제 이유는 없습니다(다른 응용 프로그램이 이에 의존할 수 있음).
/usr/bin/python
기본적 으로 사용 /usr/bin
하려면 ./usr/local/bin
$PATH
다음 명령을 사용하여 조사할 수 있으며 간단히 값 앞에 echo $PATH
추가하면 됩니다./usr/bin
PATH="/usr/bin:$PATH"
쉘 시작 파일에. /usr/bin
여러 번 나열하는 것은 $PATH
문제가 되지 않습니다.
Python 스크립트를 작성하는 경우 shebang-line이 다음과 같은지 확인하세요.
#!/usr/bin/python
스크립트는 실행 가능합니다. 그러면 원하는 Python 인터프리터가 선택됩니다.