Sage安装指南(从conda-forge)
本人安装SageMath遇到的问题及解决方法
前言
本指南是基于本人(作为一名几乎不熟悉 WSL的及其任何语法的小白)安装SageMath时遭遇的问题与解决方案写成的,因此可能并不完善或管用.必须要提到的是,新手(包括我自己)并不推荐自己安装SageMath,如Sage for Undergraduates中所说:
A local installation — not recommended for beginners, this can be great for those who do not have reliable access to a high-speed internet connection. Most Sage users access Sage via the internet. There is almost never any reason to do a local install of Sage on your laptop or home computer. The exception is if you have limited or no internet connectivity, such as in rural areas. This is good news, because it saves a lot of headaches and hassles (especially for students), that you would have to suffer if you were using Mathematica, Maple, Matlab, or Magma.
本地安装 — 不建议初学者进行,但这对那些没有可靠的高速互联网连接的用户来说是个不错的选择。大多数 Sage 用户通过互联网访问 Sage。几乎没有任何理由在笔记本电脑或家用电脑上进行本地安装。但如果您的互联网连接有限或没有互联网连接,例如在农村地区,情况就例外了。这是个好消息,因为如果您使用 Mathematica、Maple、Matlab 或 Magma,可以省去很多麻烦(尤其是学生)。
SageMath的在线版可在SageMathCell或CoCalc中使用,但可用算力很少.
如果你只是单纯想在Windows上运行SageMath, 可从阿里云镜像中下载(旧版本9.3)并可直接运行,而不必在WSL上配置诸多环境.
最后,本指南主要参考Welcome to Sage Installation Guide,是写给Windows用户的.
安装
安装WSL
首先,按照如何使用 WSL 在 Windows 上安装 WSL的安装 WSL (Windows Subsystem for WSL的):在控制台1中输入命令
1
wsl --install
安装完毕后重启,再在控制台中输入指令
1
wsl -l -v
若显示Version 2即为WSL2.再输入
1
wsl.exe --install
这样便能装上Ubuntu了.
最后设置 WSL的 用户名和密码.初次打开WSL会提示用户设置用户名和密码2.
如果不记得了,可输入whoami来查看自己的用户名3,再输入passwd来重设密码即可.
安装Miniforge3
在命令行中输入
1
2
3
cd ~
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
以安装Miniforge3,这一步可能会需要梯子(国内下载可能会很慢).其中可能会有几步需要按Enter或输入yes.官方教程并不清晰,具体请参照该页面中的讨论或Miniforge的安装指南操作:
在输入命令之后,可能会在某些地方停住.首先停住的地方需要按Enter,这表明你同意将软件安装在位置~/miniforge3.第二次停住时需要输入yes,这表明你同意相关法律条款.最后会有第三次停住,这时也输入yes.理论上此时Miniforge3已安装.
验证其是否安装可以在WSL的命令行中输入命令
conda,如果没有出现
1conda: command not found则说明安装成功.否则需要在WSL的命令行中输入
1 2cd ~/miniforge3/bin ./conda init然后重新打开WSL的命令行.如果用户名前有一个
(base)则说明已成功,此时可再次同上验证.
离开基础环境(即去掉
(base)字样)可输入指令
1 conda config --set auto_activate_base false以禁用基础环境的自动激活.
安装并启用SageMath
在安装好Miniforge3后,在WSL的命令行中输入
1
2
cd ~
conda create -n sage sage
即可安装好Sage. 此时在命令行中输入
1
2
conda activate sage
sage
即可启用Sage. 出现页面
1
2
3
4
5
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 10.7, Release Date: 2025-08-09 │
│ Using Python 3.12.13. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
sage:
可输入代码测试:
1
2
sage: factor(2005)
# 5 * 401
此时说明已安装成功.
使用JupyterLab调用SageMath
安装Jupyter
使用命令
1
2
conda install -c conda-forge jupyterlab
conda install -c conda-forge notebook
或
1
2
pip install jupyterlab
pip install notebook
以安装JupyerLab和Jupyter Notebook.此时可在启用sage后用命令
1
sage -n jupyterlab
以启用JupyterLab, 此时可从WSL命令行输出的网址
1
2
http://localhost:8888/lab?token={your password}
http://127.0.0.1:8888/lab?token={your password}
进入Jupyter.
在VSCode中调用JupyterLab
可参照该教程进行安装.
首先在Windows系统里安装VSCode.安装过程中请务必选中”添加到PATH”选项. 在左侧扩展中搜索并安装Chinese (Simplified)和Remote Development.
再在WSL控制台中输入
1
code .
以在WSL中安装VSCode.安装完成后会跳出VSCode的页面(已连接到WSL).在左侧扩展中搜索并安装Jupyter.
如有需要也可安装SageMath Enhanced 或其它扩展插件.目前VSCode扩展市场中似乎没有对SageMath支持较好的扩展.
再同上启动JupyterLab,记下从WSL命令行输出的网址中的{your password}部分.
在VSCode远程控制的WSL系统中新建你的SageMath工作文件夹,并在其中新建一个.ipynb文件.在右上角的选择内核中选择现有Jupyter服务器,再在提示输入的URL中输入上述网址,密码即是网址中的{your password}部分.最后从localhost中选择Sage10.7作为内核.
这样就能在VSCode中直接用SageMath了,按Shift+Enter即可执行单元格.
设置桌面快捷方式
在桌面新建一个文本文档并将后缀名改为.bat,用记事本编辑为如下内容:
1
2
@echo off
wsl.exe -d Ubuntu bash -lc "cd ~/sage && code ."
- 其中
Ubuntu是WSL发行版的名字,可在控制台中用wsl -l -v查看,若同上操作则为Ubuntu. ~/sage是SageMath工作文件夹的路径,可根据自己情况修改.
双击该.bat文件就能自动打开VSCode并跳转到工作文件夹中.