2017-11-28 1 views
5

Ich habe gerade eine Google Cloud-Compute-Engine erstellt, google-cloud-Paket mit pip und pip3 installiert, und beim Starten eines Skripts mit python3 tritt der folgende Fehler aufImportError: kann den Namen 'opentype' bei Neuinstallation nicht importieren

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 die folgenden Pakete installiert:

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

die hier das Problem sein kann?

+0

können Sie versuchen, pyasn1 den neuesten https Upgrade: //pypi.python .org/pypi/pyasn1, weil ich in meiner Maschine die neuesten und es gab keine Probleme beim Importieren. –

Antwort

8

Es sieht aus wie Sie ein Problem mit pyasn1 haben, so kann man versuchen, eine neuere Version installieren (die neueste ist 0.4.2) oder sogar manuell mit der Neuinstallation:

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

Und wenn Sie sich in einem virtualenv sind, verwenden Sie stattdessen:

pip install pyasn1 pyasn1-modules 
+0

es hat funktioniert, vielen Dank! – user1403546

+0

Ich habe ein ähnliches Problem auf der Raspberrypi 3, aber diese Lösung schien nicht zu funktionieren. Ich habe eine Frage hier gestellt: https://www.raspberrypi.org/forums/viewtopic.php?f=114&t=198933&p=1241255#p1241255 –

+0

Verwenden Sie den gleichen Befehl ohne * sudo *, denn für das, was ich gesehen habe , Sie führen den Code innerhalb eines virtualenv aus, und dann müssen Sie die Bibliotheken innerhalb des virtualenv installieren, nicht im externen System. – dsesto

Verwandte Themen