python3 및 python3m 실행 파일의 차이점


116

실행 파일 /usr/bin/python3/usr/bin/python3m실행 파일 의 차이점은 무엇입니까 ?

나는 우분투 13.04에서 그들을 관찰하고 있지만 Google은 다른 배포판에도 존재한다고 제안합니다.

두 파일은 동일한 md5sum을 갖지만 심볼릭 링크 나 하드 링크가 아닌 것 같습니다. 두 파일은에서 반환 된 다른 inode 번호를 ls -li가지며 테스트 find -xdev -samefile /usr/bin/python3.3는 다른 파일을 반환하지 않습니다.

누군가 AskUbuntu 에서 비슷한 질문을 했지만 두 파일의 차이점에 대해 자세히 알아보고 싶었습니다.


11
이것은 연결된 질문에 대한 답변에서 언급 된 PEP 에서 다룹니다 .
chepner

아, 감사합니다! 이 질문을 쓰기 전에 PEP의 처음 몇 줄을 읽었지만 전체 내용을 읽기에는 너무 게으르다 ...
James Mishra

답변:


117

이에 대한 크레딧은 내가 이미 솔루션에 대한 링크 가 있음을 지적한 chepner 에게 갑니다 .

Python 구현은 적절하게 파일 이름 태그에 추가 플래그를 포함 할 수 있습니다. 예를 들어, POSIX 시스템에서 이러한 플래그는 파일 이름에도 기여합니다.

--with-pydebug (플래그 : d)

--with-pymalloc (플래그 : m)

--with-wide-unicode (플래그 : u)

PEP 3149 를 통해 .

m특히 플래그 와 관련하여 Pymalloc은 다음과 같습니다.

Vladimir Marangozov가 작성한 특수 객체 할당자인 Pymalloc은 Python 2.1에 추가 된 기능입니다. Pymalloc은 시스템 malloc ()보다 빠르고 Python 프로그램의 일반적인 할당 패턴에 대한 메모리 오버 헤드를 줄 이도록 고안되었습니다. 할당자는 C의 malloc () 함수를 사용하여 큰 메모리 풀을 가져온 다음 이러한 풀에서 더 작은 메모리 요청을 수행합니다.

Python 2.3의 새로운 기능을 통해

마지막으로 두 파일은 일부 시스템에서 하드 링크 될 수 있습니다. 두 파일은 우분투 13.04 시스템에서 다른 inode 번호를 가지고 있지만 (따라서 다른 파일 임) 2 년 전의 comp.lang.python 게시물에 따르면 한때 하드 링크 된 것으로 나타났습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.