Azure ML Notebook中用R内核调用reticulate时py_initialize报错求助
解决reticulate初始化Python2.7时的PyException_SetTraceback错误
问题分析
你遇到的PyException_SetTraceback未定义错误,核心原因是reticulate 1.25版本已不再支持Python2.7。Python2.7早在2020年就停止了官方维护,reticulate从较新版本开始已移除对Python2的兼容支持,调用依赖Python3特性的API时会出现符号缺失错误。
解决方案
1. 切换到Python3环境
Azure ML Notebook默认会提供Python3的安装,先定位Python3的路径:
library(reticulate) Sys.which("python3")
得到路径后,指定使用该Python3环境:
use_python("/usr/bin/python3") # 替换为实际输出的Python3路径 py_config()
2. 创建并使用Python3虚拟环境(推荐)
如果需要独立的Python环境,可以用reticulate创建虚拟环境:
# 创建Python3虚拟环境 virtualenv_create("my_py3_env", python = "python3") # 激活环境 use_virtualenv("my_py3_env") # 验证配置 py_config()
3. 检查Azure ML环境配置
如果找不到Python3,可在Azure ML Notebook的环境设置中,确认已添加包含Python3的计算实例或环境,确保R内核能访问到Python3的安装路径。
内容的提问来源于stack exchange,提问作者ankit
相关产品推荐
相关产品推荐

