2016-08-08 79 views
0

我想用pyinstaller爲我的Python程序製作一個.exe文件。我改變了數據的.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:\用戶\安德魯\桌面\項目\ 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') 
相關問題