2011-09-12 4 views
3

그래서 파이썬 스크립트를 파이썬 설치가 필요없이 Windows 컴퓨터에서 실행할 수있는 exe에 패키지화하려고합니다. 나는 WIN7 & 내 응용 프로그램이 & 런처가 내가 파이썬 설치 프로그램을 실행 한시 setup.py 파일을 만든 Python 3.2 및 cx_Freeze를 사용하여 Windows 실행 파일 만들기

다른 스크립트를 명령 행 인수의 몇 받아서 실행 파일이라고 console.py입니다 pywin32 사용하고 있는데 평
Traceback (most recent call last): 
    File "C:\Python32\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 2 
7, in <module> 
    exec(code, m.__dict__) 
    File "console.py", line 1, in <module> 
    File "C:\Users\Varun\Desktop\My Dropbox\OnePy\OM\Notifications v0.2\notificati 
ons.py", line 1, in <module> 
    import application 
    File "C:\Users\Varun\Desktop\My Dropbox\OnePy\OM\Notifications v0.2\applicatio 
n.py", line 1, in <module> 
    import ApplicationServer 
    File "C:\Users\Varun\Desktop\My Dropbox\OnePy\OM\Notifications v0.2\Applicatio 
nServer.py", line 5, in <module> 
    win32com.client.gencache.Rebuild() 
    File "C:\Python32\lib\site-packages\win32com\client\gencache.py", line 649, in 
Rebuild 
    _SaveDicts() 
    File "C:\Python32\lib\site-packages\win32com\client\gencache.py", line 65, in 
_SaveDicts 
    f = open(os.path.join(GetGeneratePath(), "dicts.dat"), "wb") 
    File "C:\Python32\lib\site-packages\win32com\client\gencache.py", line 141, in 
GetGeneratePath 
    f = open(fname,"w") 
IOError: [Errno 2] No such file or directory: 'C:\\Users\\Varun\\Desktop\\My Dro 
pbox\\OnePy\\OM\\Notifications v0.2\\build\\exe.win-amd64-3.2\\library.zip\\win3 
2com\\gen_py\\__init__.py' 

그래서 난이 ZipFile에로 읽는 문제가 있었다 아마 생각하고 w를 구축 실행하기로 결정, 다음과 같은 오류를 반환 다음 설치 파일

from cx_Freeze import setup, Executable 

setup(
    name = "OneNote Email Notifications", 
    version = "0.1", 
    description = "An email notifier for OneNote", 
    executables = [Executable("console.py")] 
    ) 

으로 구축 library.zip을 만들지 않고. 그래서

from cx_Freeze import setup, Executable 

setup(
    name = "OneNote Email Notifications", 
    version = "0.1", 
    description = "An email notifier for OneNote", 
    options = {"build_exe": { 
           "create_shared_zip": False, 
           "append_script_to_exe": True, 
           "include_in_shared_zip": False, 
          } 
       }, 
    executables = [Executable("console.py")] 
) 

에 setup.py를 변경하고 지금은 다음과 같은 오류 메시지가 얻을 다음 win32com.gen_py 패키지를 포함

Traceback (most recent call last): 
    File "C:\Python32\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 2 
7, in <module> 
    exec(code, m.__dict__) 
    File "console.py", line 1, in <module> 
    File "C:\Users\Varun\Desktop\My Dropbox\OnePy\OM\Notifications v0.2\notificati 
ons.py", line 1, in <module> 
    import application 
    File "C:\Users\Varun\Desktop\My Dropbox\OnePy\OM\Notifications v0.2\applicatio 
n.py", line 1, in <module> 
    import ApplicationServer 
    File "C:\Users\Varun\Desktop\My Dropbox\OnePy\OM\Notifications v0.2\Applicatio 
nServer.py", line 5, in <module> 
    win32com.client.gencache.Rebuild() 
    File "C:\Python32\lib\site-packages\win32com\client\gencache.py", line 649, in 
Rebuild 
    _SaveDicts() 
    File "C:\Python32\lib\site-packages\win32com\client\gencache.py", line 65, in 
_SaveDicts 
    f = open(os.path.join(GetGeneratePath(), "dicts.dat"), "wb") 
    File "C:\Python32\lib\site-packages\win32com\client\gencache.py", line 141, in 
GetGeneratePath 
    f = open(fname,"w") 
IOError: [Errno 2] No such file or directory: 'C:\\Users\\Varun\\Desktop\\My Dro 
pbox\\OnePy\\OM\\Notifications v0.2\\build\\exe.win-amd64-3.2\\console.exe\\win3 
2com\\gen_py\\__init__.py' 

답변

2

시도합니다.

항상 생성 된 zip을보고 디렉토리가 존재하는지 (또는 완료했는지 - 모든 것이 잘 작동 할 때까지 압축하지 마십시오) 볼 수 있습니다. 다음

#.... 
executables = [Executable("console.py", packages=[''win32com.gen_py])] 
#.... 

변경

관련 문제