ModuleNotFoundError:没有名为'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'
我已经查看了这里所有相关的问题,安装了各种库,但还是没能解决。我创建了一个requirements.txt文件,并用pip show命令查看了我在C:\Python310\Lib\site-packages\中安装的当前版本,这个路径已经添加到我的环境变量中,还有C:\Python310\和C:\Python310\Scripts。
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中,requirements文档显示没有缺失的引用,但我还是一直收到同样的错误。我甚至通过VSCode的智能提示手动重新创建了每个导入语句,也没有问题。所以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()
2 个回答
0
我的示例代码都使用了
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
我觉得你可能缺少了google-auth-httplib2这个库
这个在Gmail的官方示例中也有提到,具体可以查看安装Google客户端库的部分
0
我有两个建议,你可以试试看。
确认一下你安装所需软件包的那个目录(叫做site-packages)是否在你的PYTHONPATH环境变量里。你可以在你的Python脚本中打印一下
sys.path
,这样就能看到Python会去哪些目录找软件包。再仔细检查一下那些必需的软件包(google、google-auth、google-auth-oauthlib、google-api-python-client)是否安装在正确的site-packages目录里。你可以用
pip list
来查看已经安装的软件包和它们的版本。