Raspberry Pi 2 B +で実行されているpyコードでFirebaseを利用するための指示に従うことを試みています。 python 3で実行中に、悪いことが起こります。
私はスクリプトにpyrebaseを含めましたが、python3を使用して実行すると、代わりに次のようになります(以下を参照してください)。私は他のさまざまな言語に取り組んできましたが、念頭に置いたプロジェクトのためにpythonとRaspberry Piを選んだだけです。
この投稿には、コードと、コードを実行したときに得られる端末出力の両方が含まれます
#import Libraries
import RPi.GPIO as GPIO
import time
import pyrebase
import os
#Firebase Configuration
config = {
"apiKey": "apiKey",
"authDomain": "rpitest-xxxxx.firebaseapp.com",
"databaseURL": "rpitest-xxxxx.firebaseio.com",
"storageBucket": "rpitest-xxxxx.appspot.com"
}
firebase = pyrebase.initialize_app(config)
#GPIO Setup
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(22, GPIO.OUT)
#Firebase Database Intialization
db = firebase.database()
#While loop to run until user kills program
while(True):
#Get value of LED
led = db.child("led").get()
#Sort through children of LED(we only have one)
for user in led.each():
#Check value of child(which is 'state')
if(user.val() == "OFF"):
#If value is off, turn LED off
GPIO.output(22, False)
else:
#If value is not off(implies it's on), turn LED on
GPIO.output(22, True)
#0.1 Second Delay
time.sleep(0.1)
pi@raspberrypi:~/Desktop/LearnPython $ Sudo python3 IoTLED.py
pi@raspberrypi:~/Desktop/LearnPython $ Sudo python3 IoTLED.py
Traceback (most recent call last):
File "IoTLED.py", line 4, in <module>
import pyrebase
File "/usr/local/lib/python3.5/distpackages/pyrebase/__init__.py", line 1, in <module>
from .pyrebase import initialize_app
File "/usr/local/lib/python3.5/distpackages/pyrebase/pyrebase.py", line 17, in <module>
from oauth2client.service_account import ServiceAccountCredentials
File "/usr/local/lib/python3.5/dist-packages/oauth2client/service_account.py", line 26, in <module>
from oauth2client import crypt
File "/usr/local/lib/python3.5/dist-packages/oauth2client/crypt.py", line 23, in <module>
from oauth2client import _pure_python_crypt
File "/usr/local/lib/python3.5/dist-packages/oauth2client/_pure_python_crypt.py", line 24, in <module>
from pyasn1_modules.rfc2459 import Certificate
File "/usr/local/lib/python3.5/dist-packages/pyasn1_modules/rfc2459.py", line 20, in <module>
from pyasn1.type import opentype
ImportError: cannot import name 'opentype'
Opentypeライブラリが欠落していると思われます。
この時点で1日以上、本当に本当に行き詰まっています。私は助けが必要です。どうもありがとうございました。本当に助かりました。
私は同様の問題を抱えていましたが、これは私のためにそれを修正しました:
pip install --upgrade google-auth-oauthlib
google-auth-oauthlib
私のセットアップでは依存関係が古くなっていました。 requirements.txt( https://github.com/google/aiyprojects-raspbian/blob/voicekit/requirements.txt )のバージョンは0.1.0でした。私は音声キットを使用していましたが、同じことがあなたのセットアップにも当てはまります。
詳細については、この質問を参照してください: ImportError:新規インストール時に名前 'opentype'をインポートできません
Raspberry Piフォーラムでもこれを参照してください。 https://www.raspberrypi.org/forums/viewtopic.php?f=114&t=198933&p=1241439#p1241439
これも試すことができます。それは私のために働いた。
pip install --upgrade pyasn1-modules