模块未找到错误:没有名为'google_auth_oauthlib'的模块。

22

我正在尝试在AdWords API的authentification文件夹中运行“generate_refresh_token.py”文件。

但是当我按照文档中所述执行python generate_refresh_token.py时,出现错误ModuleNotFoundError: No module named 'google_auth_oauthlib'

因此,我尝试使用pip install google-auth-oauthlib安装该模块,这是输出:

Requirement already satisfied: google-auth-oauthlib in /home/$USER/anaconda3/lib/python3.6/site-packages (0.2.0)

我通过执行命令source activate /home/$USER/anaconda3/envs/$environment_name来激活我的anaconda3环境。我尝试用上述命令再次生成令牌,但出现了相同的错误。

我找不到任何有用的答案或与此模块有相同问题的人。有人有建议可以尝试吗?

更新:我已经找到了错误所在。当我通过pip安装google-auth-oauthlib模块时,它被安装为anaconda3库中的一个模块。但是当我从命令行运行python时,它使用的是我系统的版本,该版本没有此模块。

5个回答

28

我也遇到了同样的问题。使用以下方法解决:

sudo pip install google-auth-oauthlib

必须使用 sudo 命令,原因不明,或许有其他人可以详细说明。


4
更新一下。不要使用sudo与pip一起使用...那是个不好的做法,有很多SO帖子说明你为什么不应该这样做。基本上,最佳实践是使用pip --user。 - Tyler Tresslar
2
请尝试使用“pip install --user google-auth-oauthlib”进行安装并检查其是否正常工作。请勿在pip命令中使用sudo,因为这几乎肯定会破坏您的Python分发。 - Jakob Guldberg Aaes

11
如果您使用的是conda而不是pip:
conda install google-auth google-auth-oauthlib

1
这个方法非常有效。在我的情况下,conda已经安装好了,如果其他人也已经安装了它,那么这种方法对我来说似乎比pip方法更好用。 - Brookie_C

6
我已经找到了错误所在。当我使用 pip 安装 google-auth-oauthlib 模块时,它被安装在 anaconda3 库中作为一个模块。但是,当我从命令行运行 Python 时,它使用的是我的系统版本,该版本没有这个模块。

点赞你自己找到答案。如果可以的话,再点一个赞来发布它。干得好! - holdenweb

4

我遇到了这样一种情况,使用 pip install google-auth-oauthlib 安装成功后,但我仍然看到上面提到的 ModuleNotFoundError。

我试着使用 sudo pip install google-auth-oauthlib 进行安装。但是它没有起作用,我继续看到了 ModuleNotFoundError:没有名为 'pip._internal.cli.main' 的模块

如果其他人有同样的问题,我通过使用 pip3 install google-auth-oauthlib 成功安装(奇怪的是,在我的系统中 pip3pip 指向同一个位置:pip 21.2.4)。


0

激活你的虚拟环境并在其中安装该模块。它就能正常工作了。


1
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接