【问题标题】:How to add Icon to Pyinstaller in Windows 10如何在 Windows 10 中将图标添加到 Pyinstaller
【发布时间】:2019-05-31 20:05:15
【问题描述】:

我修改了规范文件以包含图标,但每次生成 exe 时,系统都会抛出此错误:

2105 INFO: Writing RT_ICON 1 resource with 40 bytes
Traceback (most recent call last):
  File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\win32ctypes\pywin32\pywintypes.py", line 35, in pywin32error
    yield
  File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\win32ctypes\pywin32\win32api.py", line 269, in UpdateResource
    handle, type, name, language, lp_data, len(lp_data))
  File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\win32ctypes\core\cffi\_resource.py", line 134, in _UpdateResource
    function_name='UpdateResource')
  File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\win32ctypes\core\cffi\_util.py", line 81, in __call__
    self._raise_error(function_name)
  File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\win32ctypes\core\cffi\_util.py", line 92, in _raise_error
    raise exception
OSError: [WinError 87] The parameter is incorrect

我尝试使用 --onefile 直接从 pyinstaller 生成 exe 文件,也从 .spec 文件中生成。

block_cipher = 无

将ico添加到exe文件

【问题讨论】:

  • exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='sample', debug=True, bootloader_ignore_signals=False, strip=False , upx=True, runtime_tmpdir=None, console=True, icon='logo.ico')

标签: python pyinstaller


【解决方案1】:

试试这个代码:

from os import path 
script_dir = path.dirname(path.abspath(SPEC))
exe = EXE(pyz,
         a.scripts,
         a.binaries,
         a.zipfiles,
         a.datas,
         x, y,
         name='super_program',
         debug=False,
         strip=False,
         upx=True,
         runtime_tmpdir=None,
         console=True,
         icon=os.path.join(script_dir, 'icon.ico'))

【讨论】:

    【解决方案2】:

    根据docs

    -i , --icon FILE.ico:将该图标应用于 Windows 可执行。 FILE.exe,ID,从exe中提取带有ID的图标。 FILE.icns:将图标应用到 Mac OS X 上的 .app 包

    所以你需要使用:

    pyinstaller -F --icon "youricon.ico" "yourscript.py"

    【讨论】:

      猜你喜欢
      • 2020-07-01
      • 1970-01-01
      • 2012-04-14
      • 1970-01-01
      • 2016-10-17
      • 2020-06-26
      • 2016-07-20
      • 2020-12-19
      • 2017-10-31
      相关资源
      最近更新 更多