문제

나는 컴파일을 시도하고 간단한 스크립트를 썼을 사용하여 Python3 및 PyQt4 를 사용하여 cx_Freeze 지만,나는 세 가지 문제는 그냥 알아낼 수 없습니다.

  1. 할 수 없습니다 아이콘이 나타납니다.내가 사용하여 컴파일된 리소스 파일에 대한 그리,즉을 가져오.py 자원을 포함하는,그리고 나를 따르려고 애를 썼는 조언 , 사 imageformats 폴더 내에 프로젝트 폴더 하지만 아무것도 작동하는 것 같다.

  2. 나는 사용하지 않 severl python 모듈을 포함한 tcl 및 운영체제의 인쇄 하위시스템과 통 그래서 나는 추가 excludes 옵션입니다.그러나,그들은 여전히 보이 추가 할 수 있습니다.

  3. 하려고 하면 컴파일 base='Win32GUI' 실행하고 만들어진 exe 예외가 발생합니다: 'NoneType' has no attribute 'encoding'

이건 뭔가 잘못된 내 설치 스크립트 때문에 cx_Freeze 문서는 매우 자세한 정보,그래서 사람이라고 할 수 있습니다 문제입니다.여기에 설치 스크립트입니다.나이트 스크립트 내가 컴파일하기 때문에 그것의 매우 긴하지만,경우 해당 필요 내가 만들려고 간결한 버전을 테스트합니다.

from cx_Freeze import setup, Executable

exe = Executable(
    script='cconvert.py',
    base='Win32GUI'
)

options = dict(
    excludes=['curses', 'email', 'tcl', 'ttk']
)

setup(
    name="Coord Convertor",
    version="0.1",
    description="A Coordinate converter from DMS to DD",
    requires=['pyqt4 (>=4.8)', 'dtlibs (>=0.4.1)'],
    data_files=['imageformats'],
    executables=[exe],
    options={'build-exe': options}
)
도움이 되었습니까?

해결책

(참고에 대해 확실 1.)

2:에서 옵션을={'빌드-exe'...,나는 그것을 생각해야 build_exe(밑줄로 대신 dash).

3:당신은에 액세스하려고 뭔가 sys.stdout.encoding 어디서나? sys.stdout 아무도 없을 것입니다 사용할 경우 Win32GUI 기초입니다.도 print() 전화 시킬 수도 있습니다.

다른 팁

해결합니다.또한 토마스'포인터,나는 데 필요한'imageformats'로서'포함한 파일에서 옵션을 하지'data_files'.최종 스크립트는 다음과 같습니다:

from cx_Freeze import setup, Executable

exe = Executable(
    script='cconvert.pyw',
    base='Win32GUI'
)

options = dict(
    excludes=['curses', 'email', 'tcl', 'ttk', 'tkinter'],
    include_files=['imageformats']
)

setup(
    name="Coord Convertor",
    version="0.1",
    description="A Coordinate converter from DMS to DD",
    requires=['pyqt4 (>=4.8)', 'dtlibs (>=0.4.1)'],
    executables=[exe],
    options={'build_exe': options}
)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top