2011-04-28 89 views
0

所以我一直在寫這個遊戲一段時間,最後完成。然而,由於遊戲是爲一個類而設計的,而且我使用了我的老師不打算安裝的庫,所以我需要製作一個獨立於python和遊戲依賴項的獨立可執行文件。我跑py2exe併成功但是當我運行exe我得到這個錯誤就完成了:編譯的python腳本返回WindowsError:使用py2exe後出現[Error 3]

Traceback (most recent call last): 
    File "main.pyw", line 1, in <module> 
    File "zipextimporter.pyo", line 82, in load_module 
    File "libs\__init__.pyo", line 3, in <module> 
WindowsError: [Error 3] The system cannot find the path specified: 'C:\\Users\\matt\\workspace\\COS125\\src\\dist\\includes.zip\\libs/*.*' 

我想通了錯誤的最可能的原因是什麼。這很可能源於我爲每個包安裝的汽車進口商。在我的軟件包的init .py文件中,我使用以下代碼,以便簡單的「from libs import *」將導入lib軟件包中的所有文件。這將使得每個文件都會被加載,就像我將每個文件加載爲「from libs.module import *」一樣。

的代碼在初始化文件如下:

import os, sys 
path = os.path.dirname(__file__) 
dirList = os.listdir(path) 
for mod in dirList: 
    ext = os.path.splitext(mod) 
    mod = mod[:-len(ext[1])] 
    if (mod not in dir() and 
     mod != "__init__" and 
     mod != "" and 
     mod != "._"): 
     exec("from " + mod + " import *") 

本質上講,我問的是有沒有人知道如何做到這一點,而不會導致該錯誤後編制?

+0

它看起來像'libs'後的最後一個斜槓有問題 - 它指向另一個路徑從其他所有的路徑分隔符... – 2011-04-28 20:54:35

回答

0

我想我在幾年前遇到過一個類似的問題,我通過刪除分發中的zip文件來解決它。

使用py2exe選項,請嘗試設置zipfile = None或者關閉壓縮並關閉捆綁。

請注意,創建一個可在所有Windows操作系統上運行的Windows exe是一件痛苦的事情。我從py2exe列表herehere得到了很好的反饋。

+0

我試着沒有壓縮文件第一次,然後當沒有工作我試過這個。這兩次都是同樣的錯誤。 – MattyP92 2011-05-03 04:36:18

相關問題