0

如果我尝试编译我的 python(使用 python 3.2)文件,则会发生以下错误:

Traceback(most recent call last):
File
"c:\python32\lib\site-packages\cx_Freeze\initscripts\Console3.py", line
27, in <module>
  exec(code, m.__dict__)
 File "Abertura.py", line 208, in <module>
 File "Abertura.py", line 154, in main
 File "Abertura.py", line 9, in __init__
pygame.error: Couldn't open
C:\Python32\build\exe.win32-3.2\library.zip\Imagens\menu1.png

我已经包含了 pygame._view 并尝试将“Imagens”目录复制到 library.zip 文件,但它不起作用。我通过包含在我的代码中来使用来自其他目录的图像、音乐和视频:

def file_path(filename, directory):
    return os.path.join(
        os.path.dirname(os.path.abspath(__file__)),
        directory,
        filename
    )

这是我的 setup.py 文件:

from cx_Freeze import setup, Executable

exe=Executable(
     script="Abertura.py",
     base="Win32Gui",
     )
includefiles=[('C:\Python32\Imagens', 'Imagens'), 
              ('C:\Python32\Musicas','Musicas'),
              ('C:\Python32\Videos','Videos')
              ]
includes=[]
excludes=[]
packages=[]
setup(
     version = "1.0",
     description = "RPG",
     author = "Pedro Forli e Ivan Veronezzi",
     name = "Batalha Inapropriada",
     options = {'build_exe':   {'excludes':excludes,'packages':packages,'include_files':includefiles}},
     executables = [exe]
     )

我如何解决它?(对不起我可能的英语错误)

4

1 回答 1

0

从压缩存档中访问的任何内容(例如 zip、rars、tar.gzs 等)都需要先解压缩,然后才能访问它们。

话虽如此,您不应该将您的资源文件放在 zip 中,因为每次解压缩它以访问某些内容既慢又困难。您的资源文件应该在普通目录中,而不是存档

您收到此错误的原因是因为它正在寻找一个名为的文件夹library.zip,但它没有找到一个文件夹,因为library.zip它不是文件夹,而是一个文件。

我建议解决此错误的方法是将所有内容提取到一个名为的文件夹中,并将代码中存在library的任何位置更改为.library.ziplibrary

于 2013-08-06T02:58:23.607 回答