web-dev-qa-db-fra.com

ImportError: impossible d'importer le nom 'opentype' lors d'une nouvelle installation

Je viens de créer un moteur de calcul Google Cloud, d'installer le package google-cloud avec pip et pip3 et je rencontre l'erreur suivante lors du lancement d'un script avec python3

    from google.cloud import bigquery
  File "/usr/local/lib/python3.5/dist-packages/google/cloud/bigquery/__init__.py", line 35, 
in <module>
    from google.cloud.bigquery.client import Client
  File "/usr/local/lib/python3.5/dist-packages/google/cloud/bigquery/client.py", line 36, in
 <module>

(more traceback lines..)

    from pyasn1_modules.rfc2459 import Certificate
  File "/usr/local/lib/python3.5/dist-packages/pyasn1_modules/rfc2459.py", line 20, in <modu
le>
    from pyasn1.type import opentype
ImportError: cannot import name 'opentype'

Sur le moteur de calcul, les packages suivants sont installés:

pyasn1==0.1.9
pyasn1-modules==0.2.1
google-cloud==0.30.0
google-cloud-bigquery==0.28.0

Quel peut être le problème ici?

6
user1403546

Il semble que vous ayez un problème avec pyasn1. Vous pouvez donc essayer d’installer une version plus récente (la dernière est 0.4.2 ) ou même de le réinstaller manuellement avec:

Sudo apt-get --reinstall install python-pyasn1 python-pyasn1-modules

Et si vous êtes dans virtualenv, utilisez plutôt:

pip install pyasn1 pyasn1-modules
14
dsesto

Afficher ma solution au cas où cela aiderait quelqu'un d'autre - cela a réglé le problème pour moi:

pip install --upgrade google-auth-oauthlib

Plus de détails discutés ici: https://www.raspberrypi.org/forums/viewtopic.php?f=114&t=198933&p=1241439#p1241439

38
Captain Whippet

FWIW - Avait le même problème - rien de ce qui précède n'a fonctionné. J'ai finalement découvert que si je le faisais sous Sudo cela fonctionnait

calquer l'original - J'ai découvert que j'avais un répertoire ~/.local qui contenait un répertoire pyasn1 où il essayait de récupérer les fichiers, mais le opentype.py ne contenait que pas. Quand j'ai supprimé tout ce répertoire, il a commencé à fonctionner.

Je suppose que c’était une sorte de cache partielle et périmée ???

0
Brad