Ошибка загрузки скрипта Python в терминале Raspberry pi

#python #raspberry-pi3

#питон #малина-pi3

Вопрос:

введите описание изображения здесь

Я пытаюсь запустить скрипт распознавания речи google на python при загрузке raspberry pi, но выдает следующую ошибку. Я использовал методы .bashrc и rc.local и crontab-e, но все они дают одну и ту же ошибку. Сценарий работает очень хорошо, когда я запускаю его с помощью оболочки python и даже когда я пытаюсь запустить сценарий, введя вручную команду python3 в терминале. Но это выдает ошибки только тогда, когда я пытаюсь запустить при загрузке. Мой raspberry pi-модель 3B , и установлена ОС Raspberry pi OS(32 бит).

В моем rc.local у меня есть:

 #!/bin/sh -e  #  # rc.local  #  # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error.  #  # In order to enable or disable this script just change the execution  # bits.  #  # By default this script does nothing.  # Print the IP address  _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %sn" "$_IP" fi  sudo python3 /home/pi/Desktop/files/greet.py  exit 0  

Я получаю ошибку, когда заменяю строку в rc.local на sudo /usr/bin/python3 /home/pi/Desktop/files/greet.py

 Traceback (most recent call last):  File "/home/pi/Desktop/files/greet.py", line 7, in lt;modulegt;  import speak  File "/home/pi/Desktop/files/speak.py", line 13, in lt;modulegt;  from google.cloud import speech  File "/usr/local/lib/python3.7/dist-packages/google/cloud/speech/__init__.py", line 17, in lt;modulegt;  from google.cloud.speech_v1 import SpeechClient  File "/usr/local/lib/python3.7/dist-packages/google/cloud/speech_v1/__init__.py", line 17, in lt;modulegt;  from .services.speech import SpeechClient  File "/usr/local/lib/python3.7/dist-packages/google/cloud/speech_v1/services/speech/__init__.py", line 16, in lt;modulegt;  from .client import SpeechClient  File "/usr/local/lib/python3.7/dist-packages/google/cloud/speech_v1/services/speech/client.py", line 25, in lt;modulegt;  from google.api_core import gapic_v1 # type: ignore  File "/usr/local/lib/python3.7/dist-packages/google/api_core/gapic_v1/__init__.py", line 16, in lt;modulegt;  from google.api_core.gapic_v1 import config  File "/usr/local/lib/python3.7/dist-packages/google/api_core/gapic_v1/config.py", line 23, in lt;modulegt;  import grpc  File "/usr/local/lib/python3.7/dist-packages/grpc/__init__.py", line 22, in lt;modulegt;  from grpc import _compression  File "/usr/local/lib/python3.7/dist-packages/grpc/_compression.py", line 15, in lt;modulegt;  from grpc._cython import cygrpc ImportError: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.33' not found (required by /usr/local/lib/python3.7/dist-packages/grpc/_cython/cygrpc.cpython-37m-arm-linux-gnueabihf.so)  

Комментарии:

1. что находится в вашем rc.local? Кстати, не публикуйте скриншоты: скопируйте и вставьте

2. Мой плохой sudo nano /etc/rc.local rc.local предполагает, что файл используется для загрузки скрипта. Мне жаль, что я смог получить только скриншот. @2e0byo

3. извините: я знаю, что такое rc. local, я хочу знать, что в нем (т. Е. Что вы пытаетесь запустить). В любом случае, вам нужно отредактировать сообщение, чтобы поместить строку, которую вы фактически добавили в файлы запуска для запуска вашего сценария, и строку, которая работает в консоли. Чтобы скопировать-вставить из lxterminal, выделите текст мышью и либо перейдите в меню правка -gt; копировать, либо нажмите Shift-Ctrl-c. Кстати, снято в темноте, но использование полного пути к python при вызове скрипта при загрузке может привести к успеху.

4. rc.local содержит эти строки (обновил вопрос выше), и я правильно указал полный путь. @2e0byo

5. 1. выдает ошибки 2. работает отлично @2e0byo