PyInstaller:更改应用程序图标。

7

首次使用pyinstaller,我运行了pyinstaller appname.py --icon='myicon.ico'。 图标文件是使用convertico.com转换的,它位于我运行pyinstaller的同一目录中。

在dist/appname/目录中,可执行文件appname的图标仍未更改。 我做错了什么吗? spec文件如下:

# -*- mode: python -*-

block_cipher = None

a = Analysis(['appname.py'],
         pathex=['/home/admin/appname'],
         binaries=None,
         datas=None,
         hiddenimports=[],
         hookspath=None,
         runtime_hooks=None,
         excludes=None,
         win_no_prefer_redirects=None,
         win_private_assemblies=None,
         cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
         cipher=block_cipher)
exe = EXE(pyz,
      a.scripts,
      exclude_binaries=True,
      name='appname',
      debug=False,
      strip=None,
      upx=True,
      console=True , icon='myicon.ico')
coll = COLLECT(exe,
           a.binaries,
           a.zipfiles,
           a.datas,
           strip=None,
           upx=True,
           name='appname')

你的代码在我的电脑上运行良好,无需使用 --icon 选项(Windows 7 + pyinstaller 3.2.1)。但是仅使用 --icon 选项并不能正常工作,必须通过 spec 文件定义才能生效。 - rlat
1个回答

11

已经起作用了,只是有一个缓存图标的问题。如果您将.exe移到另一个文件夹中,则图标应该会更改。为确保安全,请使用以下命令进行重建:

已经起作用,只是有缓存图标的问题。如果你把.exe移到另一个文件夹,图标就会改变。不过为了确保,重新构建时请使用:

pyinstaller --onefile --icon=myicon.ico --clean yourapp.py

--clean 命令会清理缓存,这样你的图标将正确显示


3
您可以尝试的另一件事是直接清除系统中的图标缓存 - rlat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接