pyinstaller 打包问题记录

python 64位机器上 打包 32位 程序:

  • pyinstaller -F test/test.py 打包 好后 在winxp上运行不了,打包机器是64位的
  • 然后下载:anaconda: 下载32位的 python3.7 的版本,https://repo.anaconda.com/archive/Anaconda3-2019.10-Windows-x86.exe
  • 打包机器上的python是3.5版本的,安装完32位的anaconda create 发现只有3.7,于是在打包电脑上环境执行: pip freeze>requirements.txt # 导出所有安装的包
  • 然后在虚拟环境中导入:pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com #导进包时怕版本不一致会有差别,所以把requirements.txt 后面的版本 "==3.1.0" 类似的全部去掉了
  • 然后在此虚拟环境中切到项目的主文件,pyinstaller -F test/test.py #报错: ** maximum recursion depth exceeded ** #递归导致出错
  • 接着修改生成的 test.spec 中第二行加上: #也可以把test.spec删了,执行:pyi-makespec -F test/test.py 也会生成 test.spec,然后按照下面修改
import sys
sys.setrecursionlimit(50000)
  • 然后执行: pyinstaller -F test.spec #注意是 test.spec #之后打包成功,
    打包出来的文件能不能使用需要在进行测试

猜你喜欢

转载自www.cnblogs.com/wanderingfish/p/11699924.html