#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