ImportError:无法在新安装时导入名称'opentype'

时间:2017-11-28 09:19:12

标签: python google-bigquery google-cloud-platform

我刚刚创建了一个Google云计算引擎,安装了带有pip和pip3的google-cloud软件包,我在使用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'

在计算引擎上安装以下软件包:

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

这可能是问题所在?

3 个答案:

答案 0 :(得分:39)

发布我的解决方案,以防其他人帮忙 - 这为我解决了这个问题:

pip install --upgrade google-auth-oauthlib

此处讨论的更多详细信息:https://www.raspberrypi.org/forums/viewtopic.php?f=114&t=198933&p=1241439#p1241439

答案 1 :(得分:14)

您似乎遇到了 pyasn1 的问题,因此您可以尝试安装较新版本(最新版本为 0.4.2 ),甚至可以手动重新安装:

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

如果您在 virtualenv 中,请改用:

pip install pyasn1 pyasn1-modules

答案 2 :(得分:0)

FWIW-遇到相同的问题-以上都不起作用。最终,我发现,如果我在sudo下做到了,它就会完成

将原始文档分层放置-我发现我有一个~/.local目录,该目录有一个pyasn1目录,试图从中获取文件,但是 opentype.py 却做了没有出现。当我删除整个目录时-它开始工作。

我认为这是部分且过时的缓存?