关于操蛋的pyinstaller报错UnicodeDecodeError

关于操蛋的pyinstaller报错UnicodeDecodeError

一.报错信息

Traceback (most recent call last):
  File "E:\python_env\env_video_downloader_3_9_2\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "E:\python_env\env_video_downloader_3_9_2\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\python_env\env_video_downloader_3_9_2\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\__main__.py", line 194, in _console_script_run
    run()
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\__main__.py", line 180, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\__main__.py", line 61, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\building\build_main.py", line 971, in main
    build(specfile, distpath, workpath, clean_build)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\building\build_main.py", line 893, in build
    exec(code, spec_namespace)
  File "E:\Github\video_downloader\launcher.spec", line 7, in <module>
    a = Analysis(
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\building\build_main.py", line 411, in __init__
    self.__postinit__()
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\building\datastruct.py", line 173, in __postinit__
    self.assemble()
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\building\build_main.py", line 574, in assemble
    priority_scripts.append(self.graph.add_script(script))
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 269, in add_script
    self._top_script_node = super().add_script(pathname)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1433, in add_script
    self._process_imports(n)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2850, in _process_imports
    target_modules = self._safe_import_hook(*import_info, **kwargs)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 382, in _safe_import_hook
    return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, edge_attr)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2301, in _safe_import_hook
    target_modules = self.import_hook(
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1518, in import_hook
    submodule = self._safe_import_module(head, mname, submodule)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 429, in _safe_import_module
    return super()._safe_import_module(module_basename, module_name, parent_package)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2062, in _safe_import_module
    self._process_imports(n)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2850, in _process_imports
    target_modules = self._safe_import_hook(*import_info, **kwargs)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 382, in _safe_import_hook
    return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, edge_attr)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2301, in _safe_import_hook
    target_modules = self.import_hook(
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1518, in import_hook
    submodule = self._safe_import_module(head, mname, submodule)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 429, in _safe_import_module
    return super()._safe_import_module(module_basename, module_name, parent_package)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2062, in _safe_import_module
    self._process_imports(n)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2850, in _process_imports
    target_modules = self._safe_import_hook(*import_info, **kwargs)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 382, in _safe_import_hook
    return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, edge_attr)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2301, in _safe_import_hook
    target_modules = self.import_hook(
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1518, in import_hook
    submodule = self._safe_import_module(head, mname, submodule)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 429, in _safe_import_module
    return super()._safe_import_module(module_basename, module_name, parent_package)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2062, in _safe_import_module
    self._process_imports(n)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2850, in _process_imports
    target_modules = self._safe_import_hook(*import_info, **kwargs)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 382, in _safe_import_hook
    return super()._safe_import_hook(target_module_partname, source_module, target_attr_names, level, edge_attr)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2301, in _safe_import_hook
    target_modules = self.import_hook(
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1518, in import_hook
    submodule = self._safe_import_module(head, mname, submodule)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 429, in _safe_import_module
    return super()._safe_import_module(module_basename, module_name, parent_package)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2062, in _safe_import_module
    self._process_imports(n)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2850, in _process_imports
    target_modules = self._safe_import_hook(*import_info, **kwargs)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 382, in _safe_import_hook
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\depend\analysis.py", line 429, in _safe_import_module
    return super()._safe_import_module(module_basename, module_name, parent_package)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2053, in _safe_import_module
    (module, co) = self._load_module(module_name, pathname, loader)
  File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2143, in _load_module
    src = loader.get_source(partname)
  File "<frozen importlib._bootstrap_external>", line 846, in get_source
  File "<frozen importlib._bootstrap_external>", line 628, in decode_source
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 302: invalid continuation byte

二.解决过程

  一开始,我以为是File "E:\python_env\env_video_downloader_3_9_2\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2143, in _load_module src = loader.get_source(partname)这一句话报错了,让我检查了半天,主要原因是右下角这个gbk让我认为是这个代码有问题。
在这里插入图片描述
  但是我百度和谷歌了很多资料,按照他们的方法修改完,还是没有效果。虽然这些资料没有效果,但是还是放在这,万一看到这篇文章的你们有用了呢。

  1. PYinstall打包程序出现编码错误的解决 ‘utf-8’ codec can’t decode byte 0xce in position 171: invalid continuation b
  2. python 打包时候遇到 ‘utf-8’ codec can’t decode byte 0xd7 in position 2556: invalid continuation byte
  3. “UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x93 in position 3965: invalid start byte” when using Pyinstaller
    4.[Solution] Pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte
  4. UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xdf in position 1313: invalid continuation byte #1775
  5. pyinstaller在 -i 加入图标时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xc6 in position 18
  6. pyinstaller打包时出现 “UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte”解决方法
  7. Pyinstaller打包Python代码为.exe,填坑三:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position
  8. PYTHON生成EXE,PYINSTALLER编码错误或闪退,果断换坑CXFREEZE!
  9. Pyinstaller打包文件编码出错 解决Pyinstaller打包为可执行文件编码错误的问题
  10. 小白提问:关于pyinstaller打包可执行文件
  11. pyinstaller打包报错: RecursionError: maximum recursion depth exceeded
  12. pyinstaller/pyinstaller/wiki/How-to-Report-Bugs
  13. UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xff in position 0: invalid start byte Error when trying to use PyInstaller to amke my code an executable
      经过不断探索,我发现我找问题的方向错了,因为我发现所有site-package里面的代码,右下角都是gbk,这个并不影响他运行,所以问题肯定是出现在我的代码上面,并不是报错信息里面的那个地方,于是我把我的所有代码都看了一遍,终于找到了问题所在,如下图所示,我的这个文件使用的是gbk编码,而我其他文件都是utf-8编码,就是因为这个才导致的报错。在这里插入图片描述
    当我将其改成utf-8编码后,我就打包成功了。
    在这里插入图片描述

三.解决方案

  如果报错信息和我一样,不妨先把自己的所有代码都检查一遍是否出现了gbk编码,如果都是utf-8编码,再去查找其他方案,这个打包出错的报错点感觉主要还是和自己的代码有关。




BTW

有人知道这个问题是啥原因吗pycharm命令行输出乱码
我使用这样的设置的时候,命令行输出都是正常的在这里插入图片描述在这里插入图片描述
但是改成utf-8之后,命令行输出反而乱码了,正常使用的编码不都是utf-8吗,而且我看所有的资料都是把gbk改成utf-8之后才不乱码。在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq1261275789/article/details/128750095
今日推荐