我无法让 Google OAuth 与 Python 一起使用

问题描述 投票:0回答:1

我有一个非常简单的程序,是从Google的工作区复制的,导入语句如下

import os.path

from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError

当我运行此代码时,我不断收到:

from google.auth.transport.requests import Request
ModuleNotFoundError: No module named 'google'

我已经在这里解决了有关该主题的每个问题,pip 安装了世界,但仍然没有爱。我创建了一个requirements.txt 文件并使用 pip show 获取了安装在我的 C:\Python310\Lib\site-packages\ 中的当前版本 - 它与 C:\Python310\ 和 C:\Python310 一起位于我的 PATH 中\脚本。

openai==1.14.0
langchain==0.1.12
streamlit==1.32.2
google==3.0.0
google-auth==2.28.2
requests-oauthlib==1.4.0
google_auth_oauthlib==1.2.0
oauthlib==3.2.2
google-api-python-client==2.122.0

VSCode 中的需求文档显示没有丢失引用,但我不断收到相同的错误。我什至检查了 VSCode Intellisense 并手动重新创建了每个 Import 语句,没有出现任何问题。所以 VSCode 看到了模块,但我仍然遇到同样的错误。

有人可以帮我吗?

感谢您的宝贵时间。

更新:完整的代码示例*

# Imports
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build
import base64
from email.mime.text import MIMEText


# Authenticate
SCOPES = ['https://www.googleapis.com/auth/gmail.readonly', 
          'https://www.googleapis.com/auth/gmail.modify']

creds = Credentials.from_authorized_user_file('token.json', SCOPES)

service = build('gmail', 'v1', credentials=creds)
service.users().messages().list(userId='me', maxResults=10).execute()
python-3.x google-oauth google-api-python-client
1个回答
0
投票

我有两个建议你应该尝试。

  1. 验证安装所需软件包的 site-packages 目录是否包含在 PYTHONPATH 环境变量中。您可以通过在 Python 脚本中打印

    sys.path
    来查看 Python 搜索包的目录。

  2. 仔细检查所需的软件包(google、google-auth、google-auth-oauthlib、google-api-python-client)是否安装在正确的 site-packages 目录中。您可以使用

    pip list
    查看已安装的软件包及其版本。

© www.soinside.com 2019 - 2024. All rights reserved.