python使用pyinstaller静态编译

  1. 安装pyinstaller
pip install pyinstaller
  1. 下载一个自己喜欢的logo.ico与想要编译的python文件放在同级文件夹
  2. 开始编译
pyinstaller -F 文件名.py(可以多个,用空格隔开) -i logo.ico

可能遇到的问题:

  1. UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position XXX: invalid continuation b
    a.删除中文注释
    b. 在运行pyinstaller 前先在cmd里输入
chcp 65001
  1. RecursionError: maximum recursion depth exceeded in comparison:
    原因是程序比较复杂,可以先生成.spec文件方便对打包过程进行修改,
    在spec里开头加上一下代码:
import sys   
sys.setrecursionlimit(10000)
  1. from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object
    这是日志信息中的cffi报错,安装了cffi即可
pip install --upgrade cffi

我一般喜欢把命令写到bat脚本里面,方法如下:

  1. 新建install.bat文件
  2. 文件内容如下(file.py是需要编译的文件,需要根据实际情况修改)
cd
chcp 65001
pyinstaller -i logo.ico -F file.py
  1. 双击install.bat文件即可编译

你可能感兴趣的:(python)