Importation d'erreur: impossible d'importer nom "opentype'

Je suis en train de suivre les instructions pour l'utilisation de Firebase dans mon py code en cours d'exécution sur la Raspberry Pi 2 B+. Lors de l'exécution sur python 3, les mauvaises choses qui se passe.

J'ai inclus le pyrebase dans mon script, mais lorsque je l'exécute à l'aide de python3-je obtenir suivantes à la place (voir ci-dessous s'il vous plaît). J'ai travaillé sur plusieurs autres langues, mais j'ai juste pris python et Raspberry Pi pour un projet que j'avais en tête.

Ce poste aura à la fois mon code et le terminal résultat que j'obtiens lorsque j'exécute le code

Mon Code:

#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) 

La Commande:

    pi@raspberrypi:~/Desktop/LearnPython $ sudo python3 IoTLED.py

La Sortie:

    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'

Mes Soupçons:

Je soupçonne le opentype bibliothèque est manquant.

Fin Remarques:

Je suis vraiment vraiment vraiment coincé à ce point pour plus d'un jour à l'autre. J'ai besoin d'aide. Je vous remercie beaucoup et j'apprécie vraiment votre aide.

sonne comme une dépendance de l'omission. Êtes-vous sûr que les bibliothèques que vous utilisez sont prises en charge dans Python 3? Vous pouvez essayer une mise à jour de la bibliothèque et de voir si vous obtenez un peu plus loin pip install --upgrade Pyrebase. Vous risquez de casser d'autres choses cependant, alors soyez prudent.
Merci pour la rapide responce. J'ai effectué les opérations suivantes. Je ne sais pas si la mise à niveau de la pyrebase sera d'aucune aide. Parce que je viens d'installer la pyrebase hier.**Mes Recours** $ sudo apt-get update $ sudo apt-get dist-upgrade $ pip install pyasn1 pyasn1-modules $ sudo apt-get --reinstall install python-pyasn1 python-pyasn1-modules $ sudo pip install pyrebase
peut-être un mauvais déploiement, nous allons essayer une version du manuel de contrôle de compatibilité: quels sont les numéros que vous obtenez lorsque l'exécution de pip list freeze | grep -E "(pyrebase|oauth2client|pyasn1)

OriginalL'auteur KSJain | 2017-12-01