配置 Jupyter 的 SAS 内核

在 Jupyter notebooks 中运行 SAS 代码的配置指南

配置
jupyter
设置
Published

January 10, 2026

1 概述

本指南展示如何配置 Jupyter 以在 .ipynb notebooks 中运行 SAS 代码,实现交互式 SAS 编程并内联显示输出结果。

2 前置要求

  • 已安装 SAS(推荐 SAS 9.4 或更高版本)
  • Python 3.8+ 并已安装 Jupyter
  • 管理员/提升权限用于内核安装

3 安装步骤

3.1 1. 安装 SAS Kernel for Jupyter

以管理员权限打开命令提示符或 PowerShell 并运行:

pip install saspy
pip install sas_kernel

3.2 2. 配置 SAS 连接

~/.saspy/sascfg_personal.py 创建配置文件(Windows 路径:C:\Users\你的用户名\.saspy\sascfg_personal.py):

# 本地 SAS 安装配置
SAS_config_names = ['winlocal']

winlocal = {
    'saspath': 'C:/Program Files/SASHome/SASFoundation/9.4/sas.exe',
    'options': ['-nosplash', '-noterminal'],
    'encoding': 'utf-8'
}

# 请将 'saspath' 修改为您实际的 SAS 安装路径

重要:将 saspath 更新为您实际的 SAS 安装路径。

3.3 3. 安装内核

安装 sas_kernel 后,将其注册到 Jupyter:

jupyter kernelspec install --user --name sas

或者如果已注册,可以更新:

python -m sas_kernel.install

3.4 4. 验证安装

检查 SAS 内核是否可用:

jupyter kernelspec list

您应该在可用内核列表中看到 sas

4 在 Quarto/Jupyter 中使用 SAS

4.1 创建 SAS Notebook

.ipynb 文件中,将内核设置为 SAS。在 notebook 元数据中添加:

{
  "kernelspec": {
    "display_name": "SAS",
    "language": "sas",
    "name": "sas"
  }
}

或者在 Jupyter 或 VS Code 中创建新 notebook 时,从内核下拉菜单中选择 “SAS”。

4.2 SAS 代码单元示例

/* 创建示例数据集 */
data class;
    set sashelp.class;
    bmi = weight / (height**2) * 703;
run;

/* 显示汇总统计 */
proc means data=class;
    var age height weight bmi;
run;

4.3 在 Quarto 文档中使用

您可以直接在 Quarto 中嵌入 .ipynb 文件:

  1. 创建 notebook:fundamentals/my-lesson.ipynb
  2. .qmd 文件中引用它或将其包含在列表中

或者使用 {sas} 引擎在 .qmd 文件中直接执行 SAS 代码:

```{sas}
proc print data=sashelp.class;
run;
```

注意:在 .qmd 中直接执行 SAS 需要额外配置 Quarto SAS 引擎。

5 替代方案:SASPy 配置

如果您更喜欢使用 SASPy 而不是内核(通过 Python 控制 SAS 会话):

import saspy
sas = saspy.SASsession(cfgname='winlocal')

# 提交 SAS 代码
sas.submit('''
data test;
    x = 1;
    y = 2;
run;
''')

# 将数据集转为 pandas DataFrame
df = sas.sd2df('sashelp.class')
print(df.head())

6 故障排除

6.1 内核未显示

  • 安装后重启 VS Code/Jupyter
  • 检查内核列表:jupyter kernelspec list
  • 重新安装:python -m sas_kernel.install --user

6.2 连接错误

  • 验证 sascfg_personal.py 中的 SAS 路径
  • 检查 SAS 许可证是否有效
  • 确保 SAS 可从命令行运行:"C:\Path\To\sas.exe" -nodms

6.3 编码问题

  • 在配置中设置编码:'encoding': 'utf-8''latin1'
  • 检查数据文件编码

7 下一步

  • fundamentals/ 下创建练习 notebooks
  • 使用 .ipynb 进行交互式练习
  • 使用 .qmd 编写带嵌入代码示例的课程内容
  • 查看 课程材料 了解结构化课程

8 资源