【问题标题】:PyInstaller: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 112: invalid start bytePyInstaller: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 112: invalid start byte
【发布时间】:2020-12-26 05:26:20
【问题描述】:

我正在尝试使用 PyInstaller 将我的项目转换为 exe, 我在此链接上尝试了两个选项的解决方案: Error when using pyinstaller: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff

也试过这个解决方案,将所有'utf-8'编码改为'cp1252'UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 35: invalid start byte

但它无法解决我的问题:

An error occurred while packaging
    Traceback (most recent call last):
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\auto_py_to_exe\packaging.py", line 131, in package
        run_pyinstaller()
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\__main__.py", line 114, in run
        run_build(pyi_config, spec_file, **vars(args))
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\__main__.py", line 65, in run_build
        PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\building\build_main.py", line 734, in main
        build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\building\build_main.py", line 681, in build
        exec(code, spec_namespace)
      File "C:\Users\MFT\AppData\Local\Temp\tmplg5pykts\v7.spec", line 6, in <module>
        a = Analysis(['C:/Users/MFT/PycharmProjects/urunArayuz/v7.py'],
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\building\build_main.py", line 244, in __init__
        self.__postinit__()
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\building\datastruct.py", line 160, in __postinit__
        self.assemble()
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\building\build_main.py", line 422, in assemble
        self.graph.process_post_graph_hooks()
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\depend\analysis.py", line 311, in process_post_graph_hooks
        module_hook.post_graph()
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\depend\imphook.py", line 417, in post_graph
        self._load_hook_module()
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\depend\imphook.py", line 383, in _load_hook_module
        self._hook_module = importlib_load_source(
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\compat.py", line 797, in importlib_load_source
        return mod_loader.load_module()
      File "<frozen importlib._bootstrap_external>", line 462, in _check_name_wrapper
      File "<frozen importlib._bootstrap_external>", line 962, in load_module
      File "<frozen importlib._bootstrap_external>", line 787, in load_module
      File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
      File "<frozen importlib._bootstrap>", line 702, in _load
      File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 783, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\hooks\hook-zmq.py", line 20, in <module>
        hiddenimports = ['zmq.utils.garbage'] + collect_submodules('zmq.backend')
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 582, in collect_submodules
        names = exec_statement("""
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 85, in exec_statement
        return __exec_python_cmd(cmd)
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 74, in __exec_python_cmd
        txt = exec_python(*cmd, env=pp_env)
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\compat.py", line 641, in exec_python
        return exec_command(*cmdargs, **kwargs)
      File "c:\users\mft\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\compat.py", line 431, in exec_command
        out = out.decode(encoding, "replace")
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 112: invalid start byte

【问题讨论】:

  • 这很奇怪。你能分享你的项目文件吗?
  • 我建议尝试不同的 pyinstaller 版本。
  • @NicholasObert 这是 7779 行你确定吗?如果你愿意,我可以在 5 分钟内上传到 gdrive 上的外部链接
  • 嗯,我想这不是一个好主意。按照@Sajad.sni 的建议尝试不同版本的 pyinstaller
  • 至少免费且快速!!。正如我在我的 python 包管理器中看到的,pyinstaller 更新到 4.0 版。也许降级到以前的版本可以解决问题,因为没有足够的线索来解决这个问题。 @NicholasObert

标签: python pyinstaller


【解决方案1】:

这很有趣,但是升级 auto-py-to-exe 解决了我的问题。我几乎尝试了所有方法,但我猜这个基本解决方案是一个问题......

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 2018-10-15
    • 2021-11-24
    • 2022-09-26
    • 2020-03-12
    • 2020-05-08
    • 2021-01-05
    • 1970-01-01
    相关资源
    最近更新 更多