2017-09-07 6 views
0

« articles » Je suis en train de convertir un fichier python dans un fichier exécutable, mais quand je lancecx_Freeze erreur d'attribut: objet « liste » n'a pas d'attribut

python setup.py build 

dans ma ligne de commande, je reçois une erreur disant

Attribute Error: 'list' object has no attribute 'items' 

Le problème est-il dans mon fichier d'installation ou mon fichier principal de mon code?

import sys 
from cx_Freeze import setup, Executable 

includefiles = ['Arcade Funk.mp3', 'game over.wav', 'FrogTown.wav','pixel ufo.png','introBackground.png','pixel playButton.png','pixel instructionButton.png','pixel playButtonHighlighted.png','pixel instructionButtonHighlighted.png','instructionPage.png','crashBackground.png','space background long.png','pixel earth.png','pixel asteroid.png', 'pixel icon.png','Montserrat-ExtraBold.otf','Montserrat-Bold.otf','arial.ttf'] 
includes = [] 
excludes = ['Tkinter'] 
packages = ['pygame'] 
build_exe_options = {'includes':[includes],'packages':[packages], 'excludes':[excludes], 'include_files':[includefiles]} 

base = None 
if sys.platform == 'win64': 
    base = 'Win64GUI' 
elif sys.platform == 'win32': 
    base = 'Win32GUI' 

setup( name = 'Earth Invaders', 
     version = '0.1', 
     description = 'Slider Game: Space', 
     options = {'build_exe': [build_exe_options]}, 
     executables = [Executable('EarthInvaders.py', base=base)] 
) 
+0

double possible de [AttributeError: objet 'liste' n'a pas d'attribut 'item' Ask] (https : //stackoverflow.com/questions/46087979/attributeerror-list-object-has-no-attribute-item-ask) – Addison

Répondre

0

Vous avez des crochets supplémentaires dans votre code, ce qui entraîne la déclaration inutile de listes supplémentaires.

Votre déclaration build_exe_options devrait lire:

build_exe_options = {'includes':includes, 'packages':packages, 'excludes':excludes, 'include_files':includefiles} 

Et vos options argument doit être:

 options = {'build_exe': build_exe_options},