代码
pip install sas_kernel
Simon Zhou
2025年3月11日
2025年5月6日
SAS VS Code 扩展轻量级,可在任何地方运行,并允许您集成 SAS 和其他语言。该工具还提供直接连接到 SAS Viya 和 SAS 9 并运行代码的功能。
SAS 语法突出显示和帮助、代码完成和代码片段
用于连接 SAS 和运行代码的配置文件配置
支持 SAS Viya 和 SAS 9 连接
访问 SAS 内容和库
为 SAS、SQL、Python 和其他语言创建笔记本
扩展程序可在 GitHub 上找到仓库与原代码:[vscode-sas-extension](https://github.com/sassoftware/vscode-sas-extension)
更多关于 SAS 与 vscode 的信息可以访问:[SAS Extension for Visual Studio Code](https://developer.sas.com/programming/vs_code_extension)
在 vscode 的扩展页面搜索 “sas” ,第一个 “official SAS ···“ 即为正确扩展:
Before you can run SAS code, you must configure the SAS extension to access your SAS 9.4 (remote or local) server or a SAS Viya server and add a connection profile.
在运行 SAS 代码之前,您必须配置 SAS 扩展以访问 SAS 9.4(远程或本地)服务器或 SAS Viya 服务器。您必须获得 SAS 9.4 或 SAS Viya 的许可才能运行 SAS 代码。
打开 SAS 程序文件。
单击 VS Code 窗口左下方状态栏中的“无配置文件”。
您还可以打开命令面板(F1
,或Ctrl+Shift+P
在 Windows 或 Linux 上,或Shift+CMD+P
在 OSX 上)并找到SAS: Add New Connection Profile
命令。
按照“添加新连接配置文件”部分中的说明添加配置文件。
创建配置文件后,状态栏项将从“无配置文件”更改为新配置文件的名称。
更多设置可以查看[SAS Extension for Visual Studio Code Documentation](https://sassoftware.github.io/vscode-sas-extension/Configurations/Profiles/sas9local)
SAS 文件右上角有一个 奔跑的小人 ,点击即可开始运行所选中的程序段落,并在右侧窗口输出结果。
安装 Anaconda 集成环境或 Python 和 SAS 软件,其中Anaconda要求Python3+;Python在Jupyter Notebook和SAS之间起一个桥梁的作用,Jupyter Notebook中的SAS代码会交给Python,Python负责将代码传递给SAS执行;然后将执行的结果返回给Jupyter Notebook显示。
SAS版本要求9.4,也可以是 SAS Viya。
启动 cmd
,输入命令:
然后就会自动安装 sas_kernel
及其相应的依赖项。
安装完成后可以输入命令:
来检测 sas_kernel
是否安装成功,如果成功,理论上会看到如下形式的输出:
Available kernels:
python3 /home/sas/anaconda3/lib/python3.5/site-packages/ipykernel/resources
sas /home/sas/.local/share/jupyter/kernels/sas
安装好 sas_kernel
后找到 Anaconda 或 Python 的安装目录,会有一个相应的文件夹出现,例如我的文件路径如下:
C:\Users\asus\AppData\Local\Programs\Python\Python312\Lib\site-packages\saspy
在这个文件路径下找到 sascfg.py
文件,该文件中需要配置连接SAS的信息。可以配置连接本地机器的SAS;也可以配置连接远程机器的SAS Server,无论是Linux Server还是Windows Server都可以。此处就以连接本地SAS为例进行说明。
SAS_config_names
用于指定连接SAS的配置方式,提供了 10 种方式:default
, ssh
, iomlinux
, iomwin
, winlocal
, winiomlinux
, winiomwin
, httpsviya
, httpviya
, iomcom
。默认为 default
方式。SAS_config_names
的值修改为 winlocal
。后续有一些安装步骤,但是大多是在2016-2020年更新的教程,无法找到复现的路径,可能相关的配置已被优化。
包括这个 [SAS岩论 | 在Jupyter Notebook中使用SAS ](https://www.sohu.com/a/218339423_278472) 中写到的需要使用 cpW 定义 SAS 路径。
将sas相关文件 sspiauth.dll
添加到系统环境变量,该文件很可能在如下目录:
C:\Program Files\SASHome\SASFoundation\9.4\core\sasext
(注意添加变量时不要包含 sspiauth.dll 文件本身)
Warning: 环境变量添加完成后,要重启电脑才会生效。
新建文件,选择使用 SAS 内核,或者在 cell 中通过 magic command 指定内核。
使用语法如下所示:
在Notebook中写SAS代码了,跟Python一样,同样有代码提示、语法高亮的功能。但是你会注意到过程步的结果显示了,运行的日志去哪里了?
如果代码运行错误或者没有输出(例如纯DATA步)的话,那么输出就是日志信息。
能够正确运行且有输出结果的代码就不会显示日志了。
如果想要像SAS Base一样,随时查看所有程序运行的日志结果也没问题。安装一个Notebook的SAS日志扩展组件就可以了。打开Anaconda Prompt,输入以下命令安装:
运行完毕后,输入以下命令启用SAS日志组件:
如果需要配置连接远程的SAS Server,如连接远程Windows机器的SAS Server,需在sascfg.py中做以下修改:
将SAS_config_names的值改为“wintowin”;
在wintowin连接方式中将参数iomhost的值修改为远程Windows机器的IP地址;将参数encoding的值修改为euc-cn;
将cpW中5个Jar包的路径修改为远程Windows机器中SAS对应的目录。
修改完毕后,启动Notebook,首次运行SAS代码时,会提示输入访问SAS Server的有效SAS用户和密码。1
SASPy 是一个 Python 库,允许你通过 Python 代码与 SAS 进行交互。SAS Kernel 依赖于 SASPy,因此在使用 SAS Kernel 之前,你需要配置 SASPy。
SAS Kernel 支持 JupyterLab 扩展,这些扩展可以提高你在 JupyterLab 中的编程效率。你可以通过以下命令安装这些扩展:
pip install sas_kernel[jlab_ext]
NBGrader 是一个用于分配和评分 Jupyter Notebook 的系统,它与 SAS Kernel 兼容。你可以使用 NBGrader 来创建和评分包含 SAS 代码的作业。
通过这些生态项目,SAS Kernel 不仅扩展了 Jupyter Notebook 的功能,还增强了其在数据科学和分析领域的应用能力。2
---
title: "00-SAS安装与vscode 扩展"
author: "Simon Zhou"
date: "2025-03-11"
date-modified: "2025-05-06"
format:
html:
code-fold: true
fig_caption: true
number-sections: true
toc: true
toc-depth: 2
---
## SAS 在 Windows 的安装
## SAS 在 Linux 的安装
## SAS 与 vscode 扩展
SAS VS Code 扩展轻量级,可在任何地方运行,并允许您集成 SAS 和其他语言。该工具还提供直接连接到 SAS Viya 和 SAS 9 并运行代码的功能。
- SAS 语法突出显示和帮助、代码完成和代码片段
- 用于连接 SAS 和运行代码的配置文件配置
- 支持 SAS Viya 和 SAS 9 连接
- 访问 SAS 内容和库
- 为 SAS、SQL、Python 和其他语言创建笔记本
扩展程序可在 GitHub 上找到仓库与原代码:\[[vscode-sas-extension](https://github.com/sassoftware/vscode-sas-extension)\](<https://github.com/sassoftware/vscode-sas-extension>)
更多关于 SAS 与 vscode 的信息可以访问:\[**SAS Extension for Visual Studio Code**\](<https://developer.sas.com/programming/vs_code_extension>)
### 安装插件
在 vscode 的扩展页面搜索 “sas” ,第一个 “official SAS ···“ 即为正确扩展:

## 配置路径
Before you can run SAS code, you must [configure the SAS extension](https://sassoftware.github.io/vscode-sas-extension/Configurations/ "https://sassoftware.github.io/vscode-sas-extension/Configurations/") to access your SAS 9.4 (remote or local) server or a SAS Viya server and [add a connection profile](https://sassoftware.github.io/vscode-sas-extension/Configurations/Profiles/ "https://sassoftware.github.io/vscode-sas-extension/Configurations/Profiles/").
在运行 SAS 代码之前,您必须配置 SAS 扩展以访问 SAS 9.4(远程或本地)服务器或 SAS Viya 服务器。您必须获得 SAS 9.4 或 SAS Viya 的许可才能运行 SAS 代码。
1. 打开 SAS 程序文件。
2. 单击 VS Code 窗口左下方状态栏中的“无配置文件”。
您还可以打开命令面板(`F1`,或`Ctrl+Shift+P`在 Windows 或 Linux 上,或`Shift+CMD+P`在 OSX 上)并找到`SAS: Add New Connection Profile`命令。
3. [按照“添加新连接配置文件”](https://sassoftware.github.io/vscode-sas-extension/Configurations/Profiles/#add-new-connection-profile)部分中的说明添加配置文件。
4. 创建配置文件后,状态栏项将从“无配置文件”更改为新配置文件的名称。

更多设置可以查看\[[**SAS Extension for Visual Studio Code Documentation**](https://sassoftware.github.io/vscode-sas-extension/)\]([https://sassoftware.github.io/vscode-sas-extension/Configurations/Profiles/sas9local](#0){style="font-size: 13pt; font-weight: var(--fontWeightRegular);"})
## 编译 SAS 文件
SAS 文件右上角有一个 奔跑的小人 ,点击即可开始运行所选中的程序段落,并在右侧窗口输出结果。
## 在 Jupyter Notebook 中使用 SAS
### 环境准备
安装 Anaconda 集成环境或 Python 和 SAS 软件,其中Anaconda要求Python3+;Python在Jupyter Notebook和SAS之间起一个桥梁的作用,Jupyter Notebook中的SAS代码会交给Python,Python负责将代码传递给SAS执行;然后将执行的结果返回给Jupyter Notebook显示。
SAS版本要求9.4,也可以是 SAS Viya。
### 安装SAS_KERNEL
启动 `cmd`,输入命令:
```{python}
#| eval: false
pip install sas_kernel
```
然后就会自动安装 `sas_kernel` 及其相应的依赖项。
安装完成后可以输入命令:
```{python}
#| eval: false
jupyter kernelspec list
```
来检测 `sas_kernel` 是否安装成功,如果成功,理论上会看到如下形式的输出:
```
Available kernels:
python3 /home/sas/anaconda3/lib/python3.5/site-packages/ipykernel/resources
sas /home/sas/.local/share/jupyter/kernels/sas
```
### 修改 Python 配置文件
安装好 `sas_kernel` 后找到 Anaconda 或 Python 的安装目录,会有一个相应的文件夹出现,例如我的文件路径如下:
```
C:\Users\asus\AppData\Local\Programs\Python\Python312\Lib\site-packages\saspy
```
在这个文件路径下找到 `sascfg.py` 文件,该文件中需要配置连接SAS的信息。可以配置连接本地机器的SAS;也可以配置连接远程机器的SAS Server,无论是Linux Server还是Windows Server都可以。此处就以连接本地SAS为例进行说明。
1. 打开该文件,首先是一大段注释;
2. 在这段注释后定义的第一个变量 `SAS_config_names` 用于指定连接SAS的配置方式,提供了 10 种方式:`default`, `ssh`, `iomlinux`, `iomwin`, `winlocal`, `winiomlinux`, `winiomwin`, `httpsviya`, `httpviya`, `iomcom`。默认为 `default` 方式。
3. 因为我们需要连接Windows机器本地的SAS,所以需要将 `SAS_config_names` 的值修改为 `winlocal` 。

后续有一些安装步骤,但是大多是在2016-2020年更新的教程,无法找到复现的路径,可能相关的配置已被优化。
包括这个 \[**SAS岩论 \| 在Jupyter Notebook中使用SAS** \](<https://www.sohu.com/a/218339423_278472>) 中写到的需要使用 cpW 定义 SAS 路径。
### 修改系统变量
将sas相关文件 `sspiauth.dll` 添加到系统环境变量,该文件很可能在如下目录:
```
C:\Program Files\SASHome\SASFoundation\9.4\core\sasext
```
(注意添加变量时不要包含 sspiauth.dll 文件本身)
**Warning:** 环境变量添加完成后,要重启电脑才会生效。
### 在 jupyter notebook 中使用 SAS
新建文件,选择使用 SAS 内核,或者在 cell 中通过 magic command 指定内核。
``` python
%%sas
```
使用语法如下所示:
```{python}
#| eval: false
%%sas
data iris;
set sashelp.iris;
run;
proc print data=iris(obs=10);
run;
```
在Notebook中写SAS代码了,跟Python一样,同样有代码提示、语法高亮的功能。但是你会注意到过程步的结果显示了,运行的日志去哪里了?
如果代码运行错误或者没有输出(例如纯DATA步)的话,那么输出就是日志信息。
能够正确运行且有输出结果的代码就不会显示日志了。
## 安装SAS日志组件
如果想要像SAS Base一样,随时查看所有程序运行的日志结果也没问题。安装一个Notebook的SAS日志扩展组件就可以了。打开Anaconda Prompt,输入以下命令安装:
``` python
jupyter nbextension install --py sas_kernel.showSASLog
```
运行完毕后,输入以下命令启用SAS日志组件:
``` python
jupyter nbextension enable sas_kernel.showSASLog –py
```
## 连接SAS Server
如果需要配置连接远程的SAS Server,如连接远程Windows机器的SAS Server,需在sascfg.py中做以下修改:
1. 将SAS_config_names的值改为“wintowin”;
2. 在wintowin连接方式中将参数iomhost的值修改为远程Windows机器的IP地址;将参数encoding的值修改为euc-cn;
3. 将cpW中5个Jar包的路径修改为远程Windows机器中SAS对应的目录。
修改完毕后,启动Notebook,首次运行SAS代码时,会提示输入访问SAS Server的有效SAS用户和密码。[^1]
[^1]: [SAS岩论 \| 在Jupyter Notebook中使用SAS](https://www.sohu.com/a/218339423_278472){.uri}
### **典型生态项目**
#### **SASPy**
SASPy 是一个 Python 库,允许你通过 Python 代码与 SAS 进行交互。SAS Kernel 依赖于 SASPy,因此在使用 SAS Kernel 之前,你需要配置 SASPy。
#### **JupyterLab 扩展**
SAS Kernel 支持 JupyterLab 扩展,这些扩展可以提高你在 JupyterLab 中的编程效率。你可以通过以下命令安装这些扩展:
```
pip install sas_kernel[jlab_ext]
```
#### **NBGrader**
NBGrader 是一个用于分配和评分 Jupyter Notebook 的系统,它与 SAS Kernel 兼容。你可以使用 NBGrader 来创建和评分包含 SAS 代码的作业。
通过这些生态项目,SAS Kernel 不仅扩展了 Jupyter Notebook 的功能,还增强了其在数据科学和分析领域的应用能力。[^2]
[^2]: [SAS Kernel for Jupyter 安装与使用教程](https://blog.csdn.net/gitblog_01103/article/details/142273387?fromshare=blogdetail&sharetype=blogdetail&sharerId=142273387&sharerefer=PC&sharesource=&sharefrom=from_link){.uri}