Ich habe gerade ein Google Cloud-Compute-Modul erstellt, ein Google-Cloud-Paket mit Pip und Pip3 installiert und beim Starten eines Skripts mit Python3 tritt der folgende Fehler auf
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'
Auf der Compute Engine werden folgende Pakete installiert:
pyasn1==0.1.9
pyasn1-modules==0.2.1
google-cloud==0.30.0
google-cloud-bigquery==0.28.0
Welches kann hier das Problem sein?
Es sieht so aus, als hätten Sie ein Problem mit pyasn1, Sie könnten also versuchen, eine neuere Version zu installieren (die neueste ist 0.4.2 ) oder sie manuell neu zu installieren:
Sudo apt-get --reinstall install python-pyasn1 python-pyasn1-modules
Wenn Sie sich in einem virtualenv befinden, verwenden Sie stattdessen:
pip install pyasn1 pyasn1-modules
Meine Lösung zu veröffentlichen, falls sie jemandem hilft - das hat es für mich behoben:
pip install --upgrade google-auth-oauthlib
Weitere Details finden Sie hier: https://www.raspberrypi.org/forums/viewtopic.php?f=114&t=198933&p=1241439#p1241439
FWIW - hatte das gleiche Problem - keiner der oben genannten hat funktioniert. Ich entdeckte schließlich, dass ich es unter Sudo
it did work erledigte.
das Original stracing - Ich fand heraus, dass ich ein ~/.local
-Verzeichnis hatte, das ein pyasn1-Verzeichnis hatte, aus dem er die Dateien abrufen wollte, aber das opentype.py one did not dort nicht auftauchte. Wenn ich das ganze Verzeichnis gelöscht habe, hat es funktioniert.
Ich nehme an, es war eine Art Cache, der teilweise und veraltet war?