최상위 스크립트가 실행될 때가 아니라 모듈을 가져올 때 .pyc 파일이 생성됩니다. 전화로 무슨 뜻인지 모르겠지만 명령 줄에서 마스터 스크립트를 실행하고 다른 스크립트를 가져온 경우 가져온 스크립트 만 .pyc를 가져옵니다.
.pyc 파일을 배포하는 경우, 버전은 부 버전입니다. 자신의 파이썬을 번들로 묶거나 여러 개의 파이썬 버전 민감한 파일을 배포한다면 어쩌면. 그러나 .py 파일을 배포하는 것이 가장 좋습니다.
Python의 스크립트 및 모듈 규칙은 설치 모델을 고려하기 전까지 약간 이상하게 보입니다. 일반적인 설치 모델은 실행 파일이 시스템의 PATH
어딘가에 설치되고 공유 라이브러리가 라이브러리 경로의 어딘가에 설치된다는 것입니다.
파이썬의 setup.py
도 똑같습니다. 최상위 스크립트는 PATH로 이동하지만 모듈과 패키지는 라이브러리 경로로 이동합니다. 예를 들어 내 시스템에서 pdb3
(최상위 스크립트)은 /usr/bin/pdb3
이고 os
(가져온 모듈)은 /usr/lib/python3.4/os.py
입니다. 파이썬이 pdb3
에서 pdb3.pyc
으로 컴파일된다고 가정하십시오. 글쎄, 나는 여전히 pdb3
라고하고 .pyc는 쓸모가 없다. 그렇다면 왜 경로를 혼란시키지?
루트 또는 관리자로 실행되도록 설치 프로그램에 공통적으로 해당 경로에 대한 쓰기 권한이 있습니다. 하지만 나중에 일반 사용자로 쓰기 권한을 가지지는 않습니다. 설치 중에 setup.py
.pyc 파일을 생성 할 수 있습니다. 당신은 당신이 가지고있는 어떤 파이썬 이건간에 올바른 .pyc 파일을 얻습니다. 설치하는 동안 root/admin으로 실행하고 있기 때문에 여전히 디렉토리에 접근 할 수 있습니다. 일반 사용자가 디렉토리에 액세스 할 수 없기 때문에 .pyc 파일을 나중에 빌드하려고하면 문제가 발생합니다.
따라서 가장 좋은 방법은 .py 파일을 배포하고 설치 중에 setup.py 빌드 .pyc를 사용하는 것입니다.
코드를 편집하거나 디버그하고 싶다면'.py'가 필요합니다. 두 번째 질문은 http://stackoverflow.com/questions/3878479/why-are-main-runnable-python-scripts-not-compiled-to-pyc-files-like-modules를 참조하십시오. – AChampion
그래서'.py'는 본질적으로 'master'파일이고'.pyc'는 항상 그것으로부터 재생성 될 수 있습니까? – joechoj
'.pyc'는 컴파일 된 파일 (소스 코드가 들어있는'.py '파일)입니다.이 파일에는 바이트 코드 – Khaled