Pyinstaller 设置图标不会改变
Posted
技术标签:
【中文标题】Pyinstaller 设置图标不会改变【英文标题】:Pyinstaller setting icons don't change 【发布时间】: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(其他电脑)【问题讨论】:
【参考方案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
参考 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 年)时,请确保您的答案添加了一些基本上新的东西。没有就不要回答。以上是关于Pyinstaller 设置图标不会改变的主要内容,如果未能解决你的问题,请参考以下文章
pyinstaller - 冻结应用程序时 QtWebEngineWidgets 抛出 dll 错误