为什么pyinstaller找不到win32api的error属性

Why pyinstaller can't find error attribute of win32api

我已经构建了一个 python 程序,现在我想从中创建一个 exe 文件。
但是当我在命令行中插入 pyinstaller something.py --onefile --windowed --icon=icon.png 时,它显示:

 File "C:\Users\Armin\AppData\Roaming\Python\Python37\site-packages\PyInstaller\building\api.py", line 534, in assemble
    icon.CopyIcons(tmpnm, self.icon)
  File "C:\Users\Armin\AppData\Roaming\Python\Python37\site-packages\PyInstaller\utils\win32\icon.py", line 232, in CopyIcons
    except win32api.error as W32E:
AttributeError: module 'win32ctypes.pywin32.win32api' has no attribute 'error'

我该怎么办?

我 运行 在尝试通过 pyinstaller 将 png 文件绑定为图标时遇到同样的问题。

只需将 png 转换为 ico 格式,构建就可以了。 如果您已经有一个规范文件,您可以在 EXE 元组

中添加 icon='icon_name.ico'
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='your_app_name',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True,
          icon='logo.ico') <----------

这对我来说效果很好,希望对你也有帮助。