You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowsight中Python Snowpark的.show()/print()无输出问题求助

解决方案

情况1:在Snowsight Notebook中运行代码

如果是在Notebook的Python单元格里执行这段代码,问题出在仅定义了main函数但未主动调用——Notebook不会自动触发main函数执行,需添加调用逻辑:

修改代码,在末尾补充:

if __name__ == "__main__":
    main(session)

重新运行单元格后,print()和.show()的输出会直接显示在单元格的输出区域。

情况2:代码已创建为Stored Procedure并调用

当代码作为Snowflake存储过程运行时,print()和.show()的输出不会显示在Results标签页,而是写入Snowflake日志系统,需按以下操作查看:

  1. 执行存储过程后,在Snowsight的执行结果页面切换到Logs标签页(而非Results),查看日志内容。
  2. 若Logs标签仍无输出,需在创建存储过程时显式指定日志级别。创建存储过程的SQL语句要添加LOG_LEVEL = 'INFO'参数,示例:
CREATE OR REPLACE PROCEDURE YOUR_PROCEDURE_NAME()
RETURNS TABLE(...)
LANGUAGE PYTHON
RUNTIME_VERSION = '3.8'
PACKAGES = ('snowflake-snowpark-python')
LOG_LEVEL = 'INFO'
HANDLER = 'main'
AS $$
-- 粘贴你的Python代码
$$;

指定LOG_LEVEL = 'INFO'后,.show()和print()的输出会被记录到日志中。

额外检查项

  • 验证当前角色对information_schema.packages表有SELECT权限,可执行SELECT * FROM information_schema.packages WHERE language = 'python';确认能获取数据。
  • 确认使用的Snowpark Python Runtime Version(如3.8、3.9)与Snowflake环境兼容。

内容的提问来源于stack exchange,提问作者user9191983

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 11:12:07