2010-05-08 7 views
2

py2exe는 라이브러리에 바이트로 컴파일 된 .pyc 파일 대신 .py 개의 소스 파일을 출력 할 수 있습니까?py2exe에서`.py` 파일을 생성합니다.

+0

이미 .py 파일이 있습니다. py2exe에 입력되어 있습니다. 이미 .py 파일을 가지고 있기 때문에 성취하려는 것은 무엇입니까? –

+0

py2exe가 라이브러리에'.pyc'를 출력하는 대신'.py' 파일을 출력하고 싶습니다. 그래서 디버깅하기가 더 쉬울 것입니다. –

+2

-1 : 이미 .py 파일이 있습니다. 이것은 말이되지 않습니다. 의견은 도움이되지 않습니다. .py 파일 *이 이미있는 경우 .py 파일 *을 원하는 이유에 대한 합리적인 설명으로 질문을 업데이트하십시오. –

답변

1

나는 오래 전에 그것을했다, 그래서 나는 내가 정확히 기억 희망 :

  • 설정 False로 압축, 그래서 py2exe에이 Zip'd 라이브러리 파일을 생성하지 않습니다.
  • 최적화를 0으로 설정하면 py2exe가 pyc 개의 파일을 작성합니다.

UPDATE : 램 Rachum이 옳다는 대신 compressedskip_archive 옵션을 사용합니다.

기본 실행 파일에 포함되므로 기본 Python 파일을 수정할 수 없으므로 최소한으로 유지하십시오. 그러면 필요에 따라 pyc 파일을 py 파일로 수동 배포하여 수동으로 대체 할 수 있습니다. 그러나 표준 라이브러리를 대체 할 이유는 자신의 코드 만 사용할 수 있습니다.

은 (는 디버깅을위한 최적이 아닌,하지만 난 당신이 소프트웨어의 릴리스 빌드 만 이런 식으로 일이 몇 가지 문제를 해결하려는 것 같아요.)

가 작동하지 않는 내가 '있으면 알려 주시기 바랍니다 도와 드리겠습니다.

UPDATE :

I했습니다 단지 py2exe에 소스 코드의 관련 부분을 참조하십시오. 그것은 py2exe는 상자 밖으로 지원하지 않는 것 같습니다. 그래서 우리는 소스 코드를 터치 할 수있는 옵션을 남겼습니다.

이 모드를 지원하도록 py2exe을 쉽게 수정할 수 있습니다. build_exe.py에있는 byte_compile 함수를 참조하십시오. 으로 대체 할 수있는 compile 내장 기능에 대한 호출이 있습니다. 대상 파일 이름 (dfile)을 .pyc 또는 .pyo 대신 확장자가 .py으로 수정하는 것을 잊지 마십시오. 패치 워크라고 알고 있지만 문제를 해결할 다른 가능성은 없습니다.

새로운 py2exe 옵션을 추가하거나 궁금한 점이 있다면 optimize 값을 새로 도입 할 수 있습니다. 실제로 py2exe에 오픈 소스로 기여할 것입니다. ;)

+0

저는 이미 수동으로 파일을 py 파일로 바꿀 수 있습니다. (또한, 나는'skip_archive'를 수행하여 zip 파일 대신에 폴더를 갖습니다.) py2exe가 그렇게 똑똑하지 않으려면 좋겠다. 각 패키지의 원래 패키지 내용을 라이브러리에 복사하기를 바랍니다. 그것으로부터 Asides 컴파일'.py' 파일을 열면 일부 과학 패키지의 일부 데이터 파일도 누락됩니다. –

+0

'py2exe '가 누락 한 데이터 파일을'data_files' 옵션에 명시 적으로 나열 할 수 있습니다. 참고 : http://py2exe.org/index.cgi/data_files – fviktor

+0

위의 업데이트를 참조하십시오. 나는 그것이 도움이되기를 바랍니다. – fviktor

관련 문제