SQL Server Python运行时报错:找不到revoscalepy.computecontext模块
问题描述
按照官方步骤安装Python并配置SQL Server 2022的Python运行时后,执行以下T-SQL脚本:
EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python' GO
触发如下错误:
Msg 39012, Level 16, State 14, Line 0
Unable to communicate with the runtime for 'Python' script for request id: A38DC621-AD74-4408-856E-70CBAFDD699F. Please check the requirements of 'Python' runtime.
STDERR message(s) from external script:
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'revoscalepy.computecontext'
本地路径C:\Program Files\Python310\Lib\site-packages\revoscalepy\computecontext确实存在该目录,询问错误原因。
错误原因分析
- 混淆系统Python与SQL专属Python环境:SQL Server机器学习服务自带独立的Python运行环境,默认安装路径为
C:\Program Files\Microsoft SQL Server\MSSQL16.<你的实例名>\PYTHON_SERVICES。你检查的C:\Program Files\Python310是系统级Python,并非SQL Server实际调用的环境,两个环境的模块路径完全独立,SQL自然找不到你系统Python里的revoscalepy模块。 - 服务账户权限不足:SQL Server的外部脚本由
NT Service\MSSQLLaunchpad账户运行,即便你确认目录存在,若该账户没有读取该目录及内部文件的权限,Python会因无法访问模块文件报找不到错误。 - 模块目录结构不完整:
computecontext目录下缺失__init__.py文件(Python识别子模块的必要文件,可为空),导致Python无法将该目录识别为可导入的子模块,即便目录存在也会报错。 - SQL Python环境被篡改:若你手动修改过SQL自带Python环境的
site-packages,或错误地将revoscalepy安装到了系统Python而非SQL专属环境,会导致SQL运行环境的模块关联失效。
内容的提问来源于stack exchange,提问作者KoalaJ
相关产品推荐
相关产品推荐

