Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pyinstaller设置图标不';不变_Python_Icons_Pyinstaller_Executable - Fatal编程技术网

Python Pyinstaller设置图标不';不变

Python Pyinstaller设置图标不';不变,python,icons,pyinstaller,executable,Python,Icons,Pyinstaller,Executable,当我使用命令时: pyinstaller.exe --icon=test.ico -F --noconsole test.py 所有图标不会更改为test.ico。有些图标仍然是pyinstaller的默认图标 为什么? 所有图标在中更改 windows 7 32位 windows 7 64位(在操作系统中生成exe文件) 一些国家仍然违约 windows 7 64位(其他PC) 我知道这是一个古老的东西(不确定这是否是一个问题),但在搜索之后,我成功地使用了--onefile: pyi

当我使用命令时:

pyinstaller.exe --icon=test.ico -F --noconsole test.py
所有图标不会更改为test.ico。有些图标仍然是pyinstaller的默认图标

为什么?

所有图标在中更改

  • windows 7 32位
  • windows 7 64位(在操作系统中生成exe文件)
一些国家仍然违约

  • windows 7 64位(其他PC)

我知道这是一个古老的东西(不确定这是否是一个问题),但在搜索之后,我成功地使用了
--onefile
:

pyinstaller.exe --onefile --windowed --icon=app.ico app.py
当我在搜索如何为我的.exe设置图标的答案时,谷歌把我带到了这个页面,所以它可能会帮助其他人


这里的信息是在这个网站上找到的:

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

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

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

例如:

如果当前目录中存在
app.py
文件,并且当前目录中的
Images文件夹中存在
app.ico

那么命令应该如下所示。最终的可执行文件将在
dist文件夹中生成

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

下面是如何在从Python文件创建exe文件时添加图标

  • 在Python文件存在的位置打开命令提示符

  • 类型:

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

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


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

这是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'

它对我有效

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

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

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

参考文献

是的,当.exe文件第一次显示时,资源管理器似乎会进行一些缓存,因此,在.exe文件显示在另一个目录中之前,带有图标的重建不会反映更改。我也有同样的问题。谢谢,这里也有同样的问题。关闭并重新打开窗口没有帮助,但将可执行文件复制到其他位置将显示正确的图标。在Windows中,可以重新启动Windows资源管理器:任务管理器->进程->Windows进程->Windows资源管理器。单击重新启动。缓存将被清除,并显示正确的图标。您还可以将图标添加到
.spec
文件,如下所示:pyinstaller.exe--onefile--icon=app.ico helloworld.py<--不适用于我。我做错了什么?这对ubuntu中的
.sh
python脚本有效吗?图标由windows资源管理器缓存。欢迎使用SO!当回答一个已经有了公认答案的老问题(这个问题已经5年多了)时(这里就是这种情况),确保你的答案添加了一些实质性的新内容。如果没有,就不要回答。
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'
pyinstaller --clean --onefile --icon=default.ico Registry.py