Raspberry Pi 4B 开机自动运行Python文件

Posted ʚVVcatɞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Raspberry Pi 4B 开机自动运行Python文件相关的知识,希望对你有一定的参考价值。

组件:

  • Raspberry Pi 4B

环境:

  • Python 3.7.3

1.写自启动脚本

我先在Desktop下创建一个shell脚本

创建格式:

sudo nano XXX.sh 

我的脚本:

sudo nano vvcat_python.sh

以下为我的脚本内容:

cd ~/Desktop
python3 my_tag.py

2 修改脚本权限

给shell脚本添加权限可执行可读可写,

sudo chmod 777 ~/Desktop/vvcat_python.sh 

3 将脚本加入rc.loacl(自启动文件都要加到这里面)

编辑 rc.local 文件

sudo nano ~/../../etc/rc.local 

在文件exit()前一行,加代码来启动脚本

添加内容 [shell脚本路径 + start]

/home/pi/Desktop/vvcat_python.sh start


编辑完成后,按下 ctrl + o 保存,回车,ctrl + x 退出。

4.配置环境文件

cd ~
nano .profile 

在该文件的最后一行加上一段代码:

sleep 3
lxterminal 
  • sleep:开机几秒后启动shell脚本
  • lxterminal :是否需要自己运行脚本,如果需要运行就添加上,如果不需要运行可以在 lxterminal 前面加上 #进行注释


编辑完成后,按下 ctrl + o 保存,回车,ctrl + x 退出。

配置完.profile 就可以开始配置.bashrc

cd ~

编辑 .bashrc文件

nano .bashrc

在文件最后的fi后写入代码

cd /home/pi/Desktop/
sudo ./vvcat_python.sh
  • cd /home/pi/Desktop/:切换到脚本所在的位置
  • sudo ./vvcat_python.sh:使用sudo权限执行脚本。


编辑完成后,按下 ctrl + o 保存,回车,ctrl + x 退出。

输入以下命令,树莓派4B会重新启动,然后执行shell脚本。

reboot


脚本启动成功后:

踩坑:
遇到的问题:我在执行shell脚本时,使用的是 python3 xxxx.py 去执行Python文件,当树莓派关机重新运行,自己调用shell脚本去执行python文件的时候,会找不到引用的第三方库模块,在普通权限下查看路径和在root权限下查看路径后,发现树莓派自己执行用的命令 sudo python3 xxxx.py 去执行Python文件,sudo python3 xxxx.py 和 python3 xxxx.py使用的环境是不同的。

以下为普通权限下查看Python路径和在root权限下查看Python路径

pi@raspberrypi:~/Desktop $ sudo python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import sys
>>> sys.path
[’’, ‘/usr/lib/python37.zip’, ‘/usr/lib/python3.7’, ‘/usr/lib/python3.7/lib-dynload’, ‘/usr/local/lib/python3.7/dist-packages’, ‘/usr/lib/python3/dist-packages’]
>>> exit()
pi@raspberrypi:~/Desktop $ python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import sys
>>> sys.path
[’’, ‘/usr/lib/python37.zip’, ‘/usr/lib/python3.7’, ‘/usr/lib/python3.7/lib-dynload’, ‘/home/pi/.local/lib/python3.7/site-packages’, ‘/usr/local/lib/python3.7/dist-packages’, ‘/usr/lib/python3/dist-packages’]
>>> exit()
pi@raspberrypi:~/Desktop $

解决方法:
采用 sudo pip install xxxx 安装找不到的第三方库模块,就能解决问题。

以上是关于Raspberry Pi 4B 开机自动运行Python文件的主要内容,如果未能解决你的问题,请参考以下文章

树莓派(Raspberry Pi)4B无界面安装 Raspberry Pi 系统篇

树莓派(Raspberry Pi)4B无界面安装 Raspberry Pi 系统篇

Raspberry Pi 4B 循迹模块

Raspberry Pi 4B 颜色检测

Raspberry Pi 4B C和Python开发环境安装

Raspberry Pi 4B 安装 PyTorch