Python运行Google Workspace代码报错:ModuleNotFoundError: No module named 'google'
运行Google Workspace Python代码时出现ModuleNotFoundError: No module named 'google'
问题描述
我从Google Workspace复制了一段Python程序,导入语句如下:
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内容如下:
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
- 通过
pip show确认所有依赖已安装在C:\Python310\Lib\site-packages\,且该路径、C:\Python310\、C:\Python310\Scripts均已添加到系统PATH中。 - VSCode中requirements文件未显示缺失引用,Intellisense手动重建导入语句也无问题,但运行时仍报相同错误。
更新:完整代码示例
# 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()
解决方法
1. 确认Python解释器版本匹配
- 检查VSCode右下角当前使用的Python解释器路径,确认是否为
C:\Python310\python.exe。若使用其他版本(如虚拟环境、系统自带Python),会导致依赖不匹配。 - 手动指定解释器运行代码:打开终端执行
C:\Python310\python.exe your_script.py,观察是否仍报错。
2. 卸载冲突的google包
google==3.0.0是旧的非官方包,与Google官方的google-auth、google-api-python-client等存在命名冲突,执行以下命令卸载:
pip uninstall google -y
官方Google API相关依赖无需此包,卸载后重新运行代码。
3. 检查虚拟环境
若项目使用虚拟环境,确保已激活环境且依赖安装在虚拟环境内。若之前将依赖装在全局Python环境,而VSCode使用虚拟环境,会出现模块找不到的情况。
4. 重新安装核心依赖
卸载冲突包后,重新安装官方必要依赖:
pip install google-auth google-auth-oauthlib google-api-python-client requests-oauthlib
5. 验证模块搜索路径
在代码开头添加以下代码,打印Python的模块搜索路径,确认C:\Python310\Lib\site-packages是否在列表中:
import sys print(sys.path)
若不在,可临时手动添加:
import sys sys.path.append('C:\\Python310\\Lib\\site-packages')
临时方法仅作测试,建议检查系统环境变量配置是否生效(可能需重启VSCode或电脑)。
内容的提问来源于stack exchange,提问作者user23640624
相关产品推荐
相关产品推荐

