[树莓派]基于Python开发树莓派软件流程

基于我个人习惯.
即使在树莓派上面,也习惯整一个可视化页面出来

环境说明

  • 硬件 : 任意树莓派~我是 3B+ 和 4
  • OS : Raspberry Pi OS
  • 开发语言 : Python
  • 可视化UI开发 : PyQt5

开发流程说明

  1. 分别在开发电脑和树莓派上面先搭建好所有环境,包括
    开发语言环境:Python
    核心组件:PyQt5、pyqt-tools、Designer.
  2. 使用Designer画页面,保存生成 .ui文件
  3. 使用pyuic命令,将.ui文件 转换成 .py文件
  4. 基于.py文件做后续开发(我个人使用的IDE是Pycharm,看个人习惯,不使用这个也行)
  5. 远程调试 或 U盘将开发好的代码弄到树莓派OS上面运行
    (我个人更习惯Window系统进行开发,基本完成后在树莓派上面调试,因为上面通过GPIO针脚接了对应的传感器)
  6. 这一步看个人习惯:
    • 可通过pyinstaller构建出 可执行文件,直接运行.
    • 可通过pyinstaller构建出 可执行文件,再创建一个.desktop 运行.
    • 可直接使用命令直接cd到对应路径,直接运行python文件
    • 可弄一个sh文件运行
    • 可将项目打包成 deb安装包运行.
      很是灵活,咋样都行.看个人喜好和项目需求~

贴一个pyinstaller的打包记录帖子,底下的避坑点,我点个赞~
pyinstaller打包常见记录


注意事项说明

  • 树莓派OS自带python2.7和python3.7版本.我统一使用python3.7, 也就是通过pip3安装组件,树莓派IDE默认使用python3.7,如果使用pip安装,会出现ModuleNotFoundError.
  • PC端不要使用最新本版的Python,会存在PyQt5版本下载问题,详情见:PyQt5 和 pyqt-tools下载问题
  • 如果下载的pyqt-tools里面没有designer,请自行使用pip3 install命令单独下载组件,在Python\Lib\site-packages\QtDesigner找到对应的应用.
  • 使用Desinger画UI,注意使用栅格布局
    [树莓派]基于Python开发树莓派软件流程_第1张图片
    在绘制好的组件空白处,点击栅格布局,会自动添加一层centralwidget,此时会对布局进行对齐调整,右下角提供了缩放功能,此时UI会给予窗体大小进行布局自适应调整.
  • pyuic命令转换如果出错了,请卸载这个组件,再重新下载!!!
  • pyuic命令将ui文件转换为pc文件,具体流程自行百度,推荐将这些工具绑定在Window IDE内,直接在IDE右键操作.
  • 相关代码调试完成后,需要进行打包操作,将代码转换为可执行文件.
    如果需要运行在Window上面,直接在Window上面执行pyinstaller即可最终输出.exe
    注意,我们的目标是要最终运行在 树莓派OS上面的,所以需要在树莓派OS上面执行pyinstaller命令进行构建.(我出现FillNotFoundError: ‘/lib32’,具体解决详见 下面的踩坑记录说明)
  • 可执行文件弄好了,现在需要整一个 快捷方式.
    当然直接拿pyinstaller的输出文件也行,但是连个icon都没得,丑的很~
    还是自己整一个.desktop文件,具体方式参考 踩坑记录,里面有说明.

打包相关踩坑记录

所有的打包相关问题,图标,桌面快捷方式等都在里面.


吐槽

真的是每一个步骤都是踩坑过来的,阿西吧.

  • Python版本的坑 (千万不要使用最新版本)
  • Windows下载pyqt-tools下载的坑 (因为Python最新版本,导致这个下载一直报错)
  • pyuic转.ui文件的坑 (转不了,卸载重装对应依赖)
  • 树莓派OS 软件啥格式啊 (我特么搜索了好久,才搞清楚要打 deb的安装包)
  • deb打包遇到的qmake问题.
  • 树莓派OS重新下载PyQt5遇到的问题
  • 创建.desktop文件, Exec配置信息问题

最终弄完,发现我直接拿pyinstaller输出的可执行文件直接就能用了,并不需要deb打包.
我这个deb打包出来的文件有啥用?
好像弄了一个寂寞?


End~~~

第一次写Python,第一次用Python搞可视化页面,第一次整Raspberry Pi OS.
太不容易了.
赶紧记下来~~~
一回生,二回熟吧.

你可能感兴趣的:(树莓派,python,树莓派,树莓派软件开发,PyQt5,流程介绍)