2016-10-13 6 views
2

기본적인 질문이 무엇인지 알아 냈습니다.하지만 내 Google 검색 엔진이 실패하고 정상 체크가 필요합니다. 나는 내 파이썬 쉘에서 다음을 실행하면Python 버전 (sys.version) 의미?

: 두 개의 서로 다른 파이썬 환경에서

>>> import sys 
>>> sys.version 

, 내가 얻을 :

'2.7.8 (default, Nov 10 2014, 08:19:18) \n[GCC 4.9.2 20141101 (Red Hat 4.9.2-1)]' 

및 ...

'2.7.8 (default, Apr 15 2015, 09:26:43) \n[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)]' 

가 있음을합니까 두 환경이 실제로 약간 다른 Python 내장을 실행하고 있거나 그 버전의 '2.7.8'비트가 충분하다는 것을 의미합니다 sion 문자열은 동일하므로 1 : 1 동일한 파이썬 해석기가 있다고 확신 할 수 있습니까?

만약 그들이 동일하다면 날짜와 그 버전의 출력 문자열의 다른 부분의 의미는 무엇입니까?

+0

두 버전은 약간 다른 컴파일러 빌드로 컴파일되었습니다. 파이썬 환경에서 어떤 차이점을 느끼지 않아야한다. 대신'sys.version_info'에 의존하는 것이 좋습니다. –

+1

버전 문자열을보고 뭔가를 얻으려고하거나 정보가 의미하는 바가 궁금합니까? –

+0

@SvenMarnach 나는 아주 이상한 작은 케이스 버그를 냄새 맡으려고 노력하고있다. 우리는이 두 환경 사이의 동작에있어 매우 모호한 차이점을보고 있으며 가능한 근본 원인으로 기본 파이썬 버전 차이를 확인할 필요가 없음을 확인하려고 노력 중입니다. – slumtrimpet

답변

6

비교할 필요가있는 것은 첫 번째 비트 인 2.7.8 문자열입니다.

차이점은 컴파일러 이진 파일을 빌드하는 데 사용 된 이유와 이진 파일이 빌드되었을 때입니다. 그것은 실제로 여기에 차이를 만들어서는 안됩니다.

문자열은 기계 가독성 형식으로 다른 곳에서 찾을 수있는 정보로 구성됩니다. 특히 :

  • platform.python_version()

    문자열 'major.minor.patchlevel'로 파이썬 버전을 반환합니다.

  • platform.python_build()

    는 문자열로 파이썬 빌드 번호와 날짜를 알리는 튜플 (buildno, builddate)를 돌려줍니다.
  • platform.python_compiler()

  • 파이썬을 컴파일에 사용되는 컴파일러를 식별하는 캐릭터 라인을 돌려줍니다. 샘플 문자열에 대한

, 무슨 다른 것은 바이너리 빌드합니다 (platform.python_build() 튜플의 두 번째 값) 및합니다 (platform.python_compiler() 문자열에서) 사용되는 GCC 컴파일러의 정확한 수정 된 날짜입니다. 컴파일러와 관련된 특정 문제가있을 때만이 문제가 발생합니다.

일반적으로 sys.version_info tuple으로 더 쉽게 사용할 수있는 Python 버전 정보 만 신경 써야합니다.

+0

고맙습니다. 우수 철저한 대답. – slumtrimpet