所以我现在已经写了这个游戏一段时间了,最后还是完成了。然而,由于这个游戏是针对一个类而且我使用了我的老师不打算安装的库,我需要创建一个独立于python和游戏依赖项的可执行文件。我运行py2exe并成功完成,但是当我运行exe时出现此错误:
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软件包中的所有文件。这将使每个文件都被加载,好像我将每个文件加载为“来自libs.module import *”。
init 文件中的代码如下:
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 *")
基本上我要问的是,是否有其他人知道怎么做而不会在编译后导致错误?