2012-10-20 3 views
3

import py_compile 
py_compile.compile('server.py') 

내가 같은 디렉토리에 그 .pyc 파일을 가져 사용하여 유닉스 작업 파이썬 파일에 컴파일 한 후 특정 된 .pyc 파일을 실행 할 수는 없지만 내가 '를 사용하여이 파일을 실행하려고하면 ./ server.pyc '내가 얻는 모든 퍼팅은 출력으로 코드를 스크램블하고 아무 일도 일어나지 않습니다.

문제는 .py 파일을 .pyc 파일로 올바르게 컴파일하고 .pyc 파일을 실행하는 방법입니다.

PS : 나는 일 기본 스크립트를 실행 &를 컴파일 테스트 .. 당신은 단지 import server.py 및 server.pyc 생성 될 수

+2

소스'.py' 파일을 직접 실행하지 않는 좋은 이유가 있습니까? –

답변

8

C. 달리 당신은 파이썬 인터프리터 컴파일 된 파이썬 코드를 해석해야하는 실행 파일을 생성하지 않습니다 파이썬 파일을 컴파일.

$ python 
>>> import py_compile 
>>> py_compile.compile('server.py') 
>>> ^D 
$ python ./server.pyc 

변경된 파이썬 코드는로드하는 데 약간 시간이 걸립니다. 파이썬 인터프리터는 코드가로드 될 때 이미 코드를 컴파일하며, 그리 오래 걸리지 않습니다.

+0

코드에 오타가 있습니다 –

+4

@MarwanAlsabbagh : 그런 다음 수정하십시오. 당신은 그것이 어디에 있는지 말하지 않았고 나는 게임을 좋아하지 않습니다. –

+0

@DietrichEpp 고마워요! 나는 이것이 낡은 대답 인 것을 안다.하지만 여전히, 길을 택할 가치가있다. –

-2

했다.

두 번째로 py_compile() 모듈을 사용할 수 있습니다. 이것은 잘 작동합니다.

실행할 내용 : execfile('server.py')이 작동합니다.

또한 this을 사용하여 스크립트에서 pyc 파일을 실행할 수 있습니다.

3

첫 번째 명령을 실행하여 server.pyc 파일을 생성하십시오. 그런 다음 두 번째 명령은 server.pyc 모듈을 실행할 수 있습니다. -c option-m option은 파이썬 문서에 설명되어 있습니다.

python -c "import server" 
python -m server