作者: Mengce Zheng

日期: 2024年12月5日


本文将在 Windows操作系统 WSL2 的 Ubuntu 22.04 环境中安装 SageMath 10.3 ,具体按照下述步骤进行。

安装 Miniconda

可通过 wget 下载 Miniconda 的最新版本,执行以下命令下载 Miniconda3 :

1
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

执行以下命令开始安装 Miniconda :

1
sh Miniconda3-latest-Linux-x86_64.sh

在安装过程中,会出现些提示,可以按 Enter 键查看许可协议,并在最后回答 yes 接受许可协议。此外,安装程序会询问安装目录,默认是 $HOME/miniconda3,按 Enter 使用默认位置。安装完成后,执行 conda init 初始化 Miniconda ,执行

1
source ~/miniconda3/bin/activate

激活,执行 conda --version 查看其版本。

安装 Miniforge

可通过 curl 下载 Miniforge 的最新版本,执行以下命令下载 Miniforge3 :

1
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"

执行以下命令开始安装 Miniforge :

1
sh Miniforge3-$(uname)-$(uname -m).sh

在安装过程中,会出现些提示,可以按 Enter 键查看许可协议,并在最后回答 yes 接受许可协议。此外,安装程序会询问安装目录,默认是 $HOME/miniforge3,按 Enter 使用默认位置。安装完成后,执行

1
conda config --add channels conda-forge

增加通道,执行

1
conda config --set channel_priority strict

将其优先级改为严格,执行 mamba init 初始化,执行

1
source ~/miniforge3/bin/activate

激活,执行 mamba --version 查看其版本。

如果想去掉首端的 (base) ,执行以下命令:

1
2
echo "conda deactivate" >> ~/.bashrc
source ~/.bashrc

以后则可以使用 mamba activate/deactivate 直接控制打开或关闭环境的功能。

安装 SageMath

首先需要下载 SageMath 10.3 的源代码,可以执行

1
wget https://mirrors.aliyun.com/sagemath/src/sage-10.3.tar.gz

直接下载,或是通过 git 的方式获取。本文采用第二种方式,执行命令

1
git clone https://github.com/sagemath/sage.git

以获取 SageMath 的官方仓库,随后在 sage 文件夹中执行

1
git checkout tags/v10.3

切换至 SageMath 10.3 版本。正式安装时则依次输入以下命令:

1
2
3
4
5
6
7
export SAGE_NUM_THREADS=4
mamba env create --file src/environment-dev-3.11-linux.yml --name sage-dev
mamba activate sage-dev
./bootstrap
pip install --no-build-isolation -v -v --editable ./pkgs/sage-conf_conda ./pkgs/sage-setup
pip install --no-build-isolation --config-settings editable_mode=compat -v -v --editable ./src
sage -c 'print(version())'

最后一句命令作为测试使用,若 SageMath 10.3 安装无误将输出:

1
SageMath version 10.3, Release Date: 2024-03-19

本文撰写过程中参考网络资源如下:Sage_10_3_SetupSage Installation Guide – Install from conda-forge ,如有疑惑可详阅上述文章。