已编译的python脚本在使用py2exe后返回WindowsError:[Error 3]
所以我写这个游戏已经有一段时间了,终于完成了。然而,由于游戏是为一个类而设计的,我使用了我的老师不会费心安装的库,因此我需要制作一个独立于python和游戏依赖项运行的可执行文件。我运行了py2exe,它已成功完成。但是,当我运行exe时,出现以下错误:已编译的python脚本在使用py2exe后返回WindowsError:[Error 3],python,pygame,py2exe,Python,Pygame,Py2exe,所以我写这个游戏已经有一段时间了,终于完成了。然而,由于游戏是为一个类而设计的,我使用了我的老师不会费心安装的库,因此我需要制作一个独立于python和游戏依赖项运行的可执行文件。我运行了py2exe,它已成功完成。但是,当我运行exe时,出现以下错误: Traceback (most recent call last): File "main.pyw", line 1, in <module> File "zipextimporter.pyo", line 82, in l
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/*.*'
本质上,我想问的是,是否有其他人知道如何在编译后做到这一点而不会导致错误?我想我在几年前遇到了类似的问题,我通过在发行版中删除zip文件解决了这个问题 使用py2exe选项,尝试设置zipfile=None,或者关闭压缩并关闭绑定
请注意,创建将在所有Windows操作系统上运行的Windows exe是一件痛苦的事情。我从py2exe列表中得到了很好的反馈。看起来在
libs
之后的最后一个斜杠有问题-它从所有其他路径分隔符指向另一个方向…我先尝试了没有zip文件,然后当这不起作用时,我尝试了这个。这两次都是同一个错误。
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 *")