我刚刚创建了一个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
这可能是问题所在?
答案 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 却做了没有出现。当我删除整个目录时-它开始工作。
我认为这是部分且过时的缓存?