SQL Server Agent作业运行Python脚本提示无Google模块如何解决?
问题根因
你遇到的报错是因为SQL Server Agent执行Python脚本时调用的Python环境,和你Jupyter Notebook使用的Python环境不是同一个,Agent调用的环境中没有安装google-auth等相关依赖包。
解决步骤
- 第一步:获取Jupyter使用的Python解释器绝对路径
在Jupyter中运行以下代码,复制输出的路径:
import sys print(sys.executable)
输出示例:C:\ProgramData\Anaconda3\envs\data\python.exe
- 第二步:给对应环境安装必要依赖
打开终端/命令提示符,用刚才拿到的Python路径执行安装命令,确保所有依赖都装到目标环境:
"C:\ProgramData\Anaconda3\envs\data\python.exe" -m pip install google-auth google-cloud-bigquery pandas pyodbc
- 第三步:修改SQL Server Agent作业的执行配置
- 打开SQL Server Management Studio,找到对应作业,编辑作业步骤
- 步骤类型选择「Operating system (CmdExec)」
- 命令栏不要直接写
python 脚本路径,要写全Python解释器的绝对路径,示例:
"C:\ProgramData\Anaconda3\envs\data\python.exe" "D:\work\bigquery_sync_script.py"
- 第四步:异常场景排查
如果修改后还是报错,检查两个配置:
- 脚本中用到的Google服务账号密钥文件要写绝对路径,不要用相对路径
- 确认SQL Server Agent服务的运行账户,对Python环境目录、脚本目录、密钥文件都有可读权限
验证方法
先直接在系统终端中用全路径Python命令运行脚本,确认运行无报错后再放到SQL Server Agent中执行,减少作业调试成本。
内容的提问来源于stack exchange,提问作者Cookye
相关产品推荐
相关产品推荐

