【问题标题】:Pyinstaller setting icons don't changePyinstaller 设置图标不会改变
【发布时间】:2015-05-31 05:11:24
【问题描述】:

当我使用命令时:

pyinstaller.exe --icon=test.ico -F --noconsole test.py

所有图标都不会更改为 test.ico。一些图标保留为 pyinstaller 的默认图标。

为什么?

所有图标都在变化

  • Windows 7 32 位
  • windows 7 64bit(制作exe文件操作系统)

有些保持默认

  • windows 7 64bit(其他电脑)

【问题讨论】:

    标签: python icons pyinstaller executable


    【解决方案1】:

    我知道这是旧的等等(并且不确定这是否是一个问题),但是在搜索之后,我成功使用了 --onefile 的这个命令:

    pyinstaller.exe --onefile --windowed --icon=app.ico app.py
    

    当我在寻找有关如何为我的 .exe 设置图标的答案时,Google 将我带到了这个页面,所以也许它会对其他人有所帮助。

    这里的信息是在这个网站上找到的:https://mborgerson.com/creating-an-executable-from-a-python-script

    【讨论】:

    • 您也可以将图标添加到您的.spec 文件中,如下所示:shanetully.com/2013/08/…
    • pyinstaller.exe --onefile --icon=app.ico helloworld.py
    • 这对 ubuntu 中的 .sh python 脚本有效吗?
    • 图标被windows explorer缓存。
    • 在 windows(在文件资源管理器中)列表视图中存在错误(它显示默认的磁盘图标),但在大图标或中图标中,它显示了 pyinstaller 命令中包含的文件。
    【解决方案2】:

    我认为这可能与缓存有关(可能在 Windows 资源管理器中)。我在一些地方也出现了旧的 PyInstaller 图标,但是当我将 exe 复制到其他地方时,所有旧图标都消失了。

    【讨论】:

    • 是的,当 .exe 文件首次显示时,资源管理器似乎做了一些缓存,因此在 .exe 显示在另一个目录中之前,带有图标的重建不会反映更改。
    • 我遇到了同样的问题。谢谢。
    • 这里有同样的问题。关闭并重新打开窗口没有帮助,但将可执行文件复制到其他地方会显示正确的图标。
    • 在Windows下,可以重启Windows资源管理器:任务管理器->进程->Windows进程->Windows资源管理器。单击重新启动。缓存将被清除并显示正确的图标。
    • 谢谢你,因为我以为我做错了什么,所以让我头疼不已。愚蠢的窗户
    【解决方案3】:

    下面的命令可以在可执行文件上设置图标。

    记住“.ico”文件应该出现在“Path_of_.ico_file”中给出的路径的位置。

    pyinstaller.exe --onefile --windowed --icon="Path_of_.ico_file" app.py
    

    例如:

    如果app.py 文件存在于当前目录中并且app.ico 存在于当前目录中的Images folder 中。

    那么命令应该如下。最终的可执行文件会在dist folder内部生成

    pyinstaller.exe --onefile --windowed --icon=Images\app.ico app.py
    

    【讨论】:

      【解决方案4】:

      我有类似的问题。如果 pyinstaller 没有错误,请尝试更改 .exe 文件的名称。它对我有用

      【讨论】:

      • 有效,但我尝试将文件上传到谷歌驱动器上修改后的标题,下载它,然后出现默认的磁盘图标。我试图再次修改它,但图标在第二次改变。
      【解决方案5】:

      这是在从 Python 文件创建 exe 文件时添加图标的方法

      • 在 Python 文件所在的地方打开命令提示符

      • 类型:

        pyinstaller --onefile -i"path of icon"  path of python file
        

      例子-

      pyinstaller --onefile -i"C:\icon\Robot.ico" C:\Users\Jarvis.py

      这是添加图标的最简单方法。

      【讨论】:

        【解决方案6】:

        这是 pyinstaller 模块的错误。 东西应该是这样的吧:

        File "c:\users\p-stu\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\utils\win32\icon.py", line 234, in CopyIcons
            except win32api.error as W32E:
        AttrubuteError: module 'win32ctypes.pywin32.win32api' has no attribute 'error'
        

        【讨论】:

          【解决方案7】:

          如果您想设置默认图标,而不是为您设置的一个 pyinstaller,则在构建 EXE 时有一个选项,只需在命令中添加“-i NONE”即可。默认的 os 图标将应用于您的可执行文件。

          pyinstaller --onefile --clean -i NONE --noconsole

          参考 https://pyinstaller.readthedocs.io/en/stable/man/pyinstaller.html#windows-and-mac-os-x-specific-options

          【讨论】:

            【解决方案8】:

            在我的情况下,文件的新图标没有显示在 dist 文件夹中,而是仅当我在桌面上移动图标时才出现。

            【讨论】:

            • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
            • 没错,Windows 会缓存某些文件的图标,所以如果您最初构建的 exe 没有图标,然后添加了图标,您仍然会看到 pyinstaller 的初始/默认图标。
            【解决方案9】:
            pyinstaller --clean --onefile --icon=default.ico Registry.py
            

            它适合我

            【讨论】:

            • 欢迎来到 SO!当回答一个已经被接受的答案(这里就是这种情况)的老问题(这个问题超过 5 年)时,请确保您的答案添加了一些基本上新的东西。没有就不要回答。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-01-12
            • 1970-01-01
            • 1970-01-01
            • 2017-02-15
            • 1970-01-01
            • 2016-04-08
            • 1970-01-01
            相关资源
            最近更新 更多