2017-02-12 57 views
0

我正在用Python和cx_Freeze創建一個應用程序。程序本身效果很好,按照它應該做的,但是安裝腳本不能很好地工作。安裝腳本是這裏 -奇怪的cx_Freeze錯誤

from cx_Freeze import setup, Executable 
    import sys, cx_Freeze 

    includes = ["os", "tkinter", "shutil", "time", "random", "re"] 
    base = None 
    if sys.platform == "win64": base = "Win64GUI" 
    opts = {"include_files": ['open.bat', 'download.gif', 'mountaindew.gif', 'snipe.gif', 'Explosion.gif', 'dorito.gif', 'daoctopus.gif']} 
    exe = Executable(script = "daoctopus.py", 
       base = base) 
    excludes = [] 
    packages = [] 
    setup(name = "DA OCTOPUS", version = "4.0", 
     description = "DA OCTOPUS", author = "DA OCTOPUS Group -- ;]", 
     options={"build_exe": {"excudes": excludes, "packages": packages, "include_files": opts, "includes": includes}, 
     executables = [exe]) 

但是當我運行:

start python.exe setup.py build 

不創建EXE文件,當我運行setup.py本身,它使一個錯誤:如下圖所示 -

Traceback (most recent call last): 
    File "C:\Python33\Python\Workshop\Bob\Virii\DA_OCTOPUS\Essentials\setup.py", line 15, in <module> 
    executables = [exe]) 
    File "C:\Python33\Python\lib\site-packages\cx_Freeze\dist.py", line 361, in setup 
distutils.core.setup(**attrs) 
File "C:\Python33\Python\lib\distutils\core.py", line 109, in setup 
_setup_distribution = dist = klass(attrs) 
File "C:\Python33\Python\lib\site-packages\cx_Freeze\dist.py", line 23, in __init__ 
distutils.dist.Distribution.__init__(self, attrs) 
File "C:\Python33\Python\lib\distutils\dist.py", line 234, in __init__ 
for (opt, val) in cmd_options.items(): 
AttributeError: 'list' object has no attribute 'items' 

這是很奇怪,我問如何解決它......

+0

該公司預計,一本字典和你給它在這裏是一個列表'executables = [exe]'。 – roganjosh

回答

0

的「include_files」參數要求的列表。 因此改變你opts列表或把

"include_files": opts["include_files"] 

PS:我希望"excudes": excludes只是在你的消息,而不是在代碼打錯了......