使用py2exe后编译的Python脚本返回WindowsError: [错误3]
我最近一直在写一个游戏,终于完成了。不过因为这个游戏是为课堂准备的,而我用了一些老师不打算安装的库,所以我需要做一个独立的可执行文件,这样就不需要依赖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包里的所有文件。这意味着每个文件会像我逐个写“from 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 *")
我想问的是,有没有人知道怎么做才能在编译后不出现这个错误?