安装:
sudo pip3 install pyinstaller
但是打包后会发现报错:
Fatal error: PyInstaller does not include a pre-compiled bootloader for your
platform. For more details and instructions how to build the bootloader see https://pyinstaller.readthedocs.io/en/stable/bootloader-building.html
解决方法:
首先去github下载对应版本,比如5.10.0
https://github.com/pyinstaller/pyinstaller/releases?page=2
解压源码后执行下面操作:
cd pyinstaller/bootloader
sudo python3 ./waf all
cd ../PyInstaller/bootloader/
ls
?能看到出现了新的文件夹 Linux-32bit-arm 切到里面,如果是aarch64位则是 Linux-64bit-arm
cd Linux-32bit-arm
能看到run 和run_d 文件
查看run文件
file Linux-32bit-arm/run
如果里面是这些
run: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=a01c65d74d7d8b483800154dcdd4a5d2aad95d5b, stripped
大概就没什么问题了
然后复制下Linux-32bit-arm的路径,且认为它是path1
然后去python3.7的安装位置里找(我的是这样 这个egg后缀挺好玩hhh)
/usr/local/lib/python3.7/dist-packages/pyinstaller-4.5.1-py3.7.egg/PyInstaller/bootloader
可能要调下python版本等等 耐心…
称刚才的路径是path2
执行
sudo cp -r path1 path2
这样就复制过去Linux-32bit-arm了 再pyinstaller就能成功了
?