Cx_Freeze编译的pygame文件不起作用

时间:2013-08-03 17:36:42

标签: python-3.x pygame cx-freeze

如果我尝试编译我的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]
     )

我该如何解决? (对我可能的英语错误感到抱歉)

1 个答案:

答案 0 :(得分:0)

在您访问压缩存档之前,从压缩存档(例如zips,rars,tar.gzs等)中访问的任何内容都需要先解压缩。

如果说,你不应该把你的追索文件放在拉链中,因为每次想要访问某些东西时解压缩都是缓慢而困难的。 您的资源文件应位于普通目录中,而不是存档

您之所以收到此错误的原因是因为它正在查找名为library.zip的文件夹但由于library.zip不是文件夹而找不到该文件夹,它是一个文件。

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

相关问题