树莓派(3B)pyinstaller打包tk界面程序
最近领导给了任务调研怎么把py写的
网管网关程序打包到树莓派上最后最大化开机自启,然后隔壁工位新来了一个搞硬件的小伙,看我抓耳挠腮怎么打包也运行不了属实尴尬,好在最后还是解决了,痛定思痛把这过程记录下来,真的坑
简述
需求是把带界面的python程序打包到树莓派直接运行,不给看客户源码
- 使用pyinstaller打包3.6release的支持py2~3.7,py3.8也能跑打包但是运行不了
- python选3.7.*版本里有同1,得下源码版
- 树莓派ubuntu-server20.04LTS加装gnome
python3.7.*
检查/usr/local/ssl是否存在,因为自带的openssl可能装在/usr/local/lib/openssl
还有python源码解压下的Modules/Setup.dist文件里关于ssl的部分要取消注释
./configure --with-ssl --enable-shared
make
sudo make install
注意在Ubuntu系统里openssl这是分开的两个,需要分开来安装:
sudo apt-get install openssl
sudo apt-get install libssl-dev
pyinstaller3.6
cd bootloader
(venv)python ./waf distclean all
之后才能在树莓派执行pyinstaller/pyinstaller.py进行打包
(venv)python ./pyinstaller/pyinstaller.py -F --onefile --path ./venv/lib/python3.7/site-packages tk.py