导入clientsecrets时出错:没有名为'clientsecrets'的模块

3 投票
1 回答
1154 浏览
提问于 2025-04-18 13:56

我通过pip3.4安装了google-api-python-client这个库。我正在按照谷歌的教程来认证客户端库,但每次我运行谷歌提供的Python代码来认证客户端库时,都会出现错误,错误信息是:

     import clientsecrets ImportError: No module named 'clientsecrets'

我电脑上只安装了python3.4,没有其他版本的Python。这个问题可能和这里的一个帖子类似:Python在使用Google Python API设置Django中的oauth2时找不到模块'clientsecrets',但我在那儿没有找到解决方案。

我从谷歌得到的Python代码在这里:https://developers.google.com/maps/documentation/tracks/auth#authenticating_using_a_client_library

1 个回答

1

这个库不支持Python 3。根据PEP 404的说明:

在Python 3中,包内的隐式相对导入不再可用——只支持绝对导入和显式相对导入。

oauth2client库使用了import clientsecrets,而在Python 3中,这个需要改成from . import clientsecrets。即使你把这些改了,库的其他部分仍然和Python 3不兼容。

目前有至少一个为Python 3开发的分支,但这个项目似乎并没有把它当作优先事项。在这之前,你需要找其他库,或者自己用requests写一个包装器来实现你需要的功能。

撰写回答