스크립트 내에서 Python의 실행 버전을 변경할 수 있습니까?Python 스크립트 내에서 Python 실행 버전을 변경하십시오.
기본적으로로드되는 Python 2.6.6이 있습니다. 이 버전을 3.6.0으로 변경하고 싶습니다.이 버전은 스크립트 내부의 사용자 정의 위치 (/ usr/bin 아님)에 설치됩니다. 따라서 스크립트에서 sys.version
으로 Python 버전을 확인하고 Python 3.6.0 모듈을 스크립트에로드합니다. 실행 환경에 반영되지 않습니다. 코드는 다음과 같습니다.
import sys, os
pyVersion = int(sys.version.split(" ")[0].replace(".", ""))
exec(open(os.environ['MODULESHOME']+"/init/python.py").read())
if pyVersion < 360:
print("Python 3.6.0 version required")
print("Loading utils/python module")
module(['load', 'utils/python/3.6.0'])
module('li')
예상대로 모듈을 나열합니다. 출력 : 이제
2.6.6 (r266:84292, Jul 23 2015, 15:22:56)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]
, 어떻게 파이썬을 만들 수 있습니다 : 나는 다음 라인에서 파이썬 버전을 확인할 때 이제
Python 3.6.0 version required
Loading utils/python module
Currently Loaded Modulefiles:
1) licenses 2) cliosoft/6.32.p3(default) 3)utils/python/3.6.0
은, 그것은
print(sys.version)
출력 여전히 파이썬 2.6.6입니다 모듈을로드 한 후 모든 코드 행에 3.6.0을 사용 하시겠습니까?
참고 : 스크립트를로드하기 전에 버전을 변경할 수 있습니다. 그러나, 그것은 여러 사용자에 의해 사용되며 루트 액세스 권한이 없습니다. 따라서 모든 버전에 대해 버전을 변경할 수는 없습니다. 그리고 나는 이렇게하는 것에 만 관심이 있습니다.
'#! utils/python/3.6.0'과 같이 적절한 스크립트를 줄 수없는 이유는 무엇입니까? –
다른 위치에 파이썬을 설치 했으므로이 위치에서 bin 및 lib 파일을 가리켜 야합니다. 나는 이것을하기 위해 환경 모듈을 사용한다. 또한 스크립트에서 경로를 하드 코딩하지 않으려합니다. – Jarvis
파이썬 버전을 확인하고 다른 인터프리터로 스크립트를 다시 실행하면 어떨까요? 또한,'sys.version_info.major == 2 : ... '와 같이'sys.version_info'를 사용하여 버전 검사를 더 쉽게 할 수 있다고 생각합니다. – TidB