Pyinstaller 打包常见问题总汇(欢迎补充)

Pyinstaller 打包常见问题总汇(欢迎补充):

  1. UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position XXX: invalid continuation b
    a.删除中文注释
    b. 在运行pyinstaller 前先在cmd里输入

chcp 65001

  1. 如果程序比较复杂先生成.spec文件方便对打包过程进行修改
  2. RecursionError: maximum recursion depth exceeded in comparison:
    在spec里开头加一句:
import sys   
sys.setrecursionlimit(100000)
  1. 一些第三方库没有加载打包
    可在 spec 中analysis里的 hiddenimports 加入你要的库:

a = Analysis([‘data_db_importer_pandas.py’],
pathex=[‘D:\work\。。。。。。’],
binaries=[],
datas=[],
hiddenimports=[‘cython’, ‘sklearn’, ‘sklearn.ensemble’,‘sklearn.neighbors.typedefs’,‘sklearn.neighbors.quad_tree’,‘sklearn.tree._utils’,‘scipy._lib.messagestream’],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)

  1. 一些专用的包会有各自独特的问题比如打包jieba时有很多问题请参考:
    https://blog.csdn.net/sinat_34200786/article/details/79715236
    https://blog.csdn.net/qq_26376175/article/details/69680992
  2. 这玩意儿还可以反编译,嗯,不写了。有什么其他见解欢迎补充

你可能感兴趣的:(python)