2016-08-08 7 views
0

Я пытаюсь использовать pyinstaller для создания .exe для моей программы Python. Я изменил данные файла .spec, чтобы он включал файл .ico в моей программе, но он все еще говорит, что он отсутствует .ico при выполнении.Файл Pyinstaller - .ico по-прежнему не включен в .spec (--onefile)

Спецификация файла (Raven.py моя программа и raven.ico это .ico файл, он необходим):

# -*- mode: python -*- 

block_cipher = None 


a = Analysis(['C:\\Users\\Andrew\\Desktop\\project\\Raven.py'], 
     pathex=['C:\\Users\\Andrew'], 
     binaries=None, 
     datas=[ ('C:\\Users\\Andrew\\Desktop\\project\\raven.ico', '.') ], 
     hiddenimports=[], 
     hookspath=[], 
     runtime_hooks=[], 
     excludes=[], 
     win_no_prefer_redirects=False, 
     win_private_assemblies=False, 
     cipher=block_cipher) 
pyz = PYZ(a.pure, a.zipped_data, 
     cipher=block_cipher) 
exe = EXE(pyz, 
     a.scripts, 
     a.binaries, 
     a.zipfiles, 
     a.datas, 
     name='Raven', 
     debug=False, 
     strip=False, 
     upx=True, 
     console=True) 

Это то, что я печатаю в командной строке для pyinstaller:

pyinstaller --onefile C:\Users\Andrew\Raven.spec 

Тогда он действует как его работа и создает файл .exe, в котором говорится, что отсутствует raven.ico и завершается.

Добавление файла .ico в тот же каталог, что и .exe, делает работу программы безупречной.

Кроме того, если это имеет значение, я использую Tkinter и Raven.py импортирует два других файла python.

+0

Попробуйте считывании файла .ico с ' -i'. –

+0

В блоке exe добавьте строку, которая говорит 'icon = 'C: \\ Users \\ Andrew \\ Desktop \\ project \\ raven.ico',' – Repiklis

ответ

0

вы должны добавить значок опции в свою спецификацию. Если вы хотите добавить

'C: \ Users \ Andrew \ Desktop \ Проект \ raven.ico'

вы должны использовать

# -*- mode: python -*- 

block_cipher = None 


a = Analysis(['C:\\Users\\Andrew\\Desktop\\project\\Raven.py'], 
    pathex=['C:\\Users\\Andrew'], 
    binaries=None, 
    datas=[ ('C:\\Users\\Andrew\\Desktop\\project\\raven.ico', '.') ], 
    hiddenimports=[], 
    hookspath=[], 
    runtime_hooks=[], 
    excludes=[], 
    win_no_prefer_redirects=False, 
    win_private_assemblies=False, 
    cipher=block_cipher) 
pyz = PYZ(a.pure, a.zipped_data, 
    cipher=block_cipher) 
exe = EXE(pyz, 
    a.scripts, 
    a.binaries, 
    a.zipfiles, 
    a.datas, 
    name='Raven', 
    debug=False, 
    strip=False, 
    upx=True, 
    console=True , icon='C:\\Users\\Andrew\\Desktop\\project\\raven.ico')