从Conda-Forge安装¶
SageMath可以通过Conda安装在Linux和MacOS上,可从 conda-forge 康达频道。
这两个 x86_64
(Intel) architecture and the arm64
/aarch64
支持体系结构(包括Apple Silicon、M1)。
您将需要一个工作的Conda安装:Miniforge(或Mambaforge)、Minconda或Anaconda。如果您还没有,我们建议您安装 Miniforge 具体如下。在终端中,
$ curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
$ bash Miniforge3-$(uname)-$(uname -m).sh
Miniforge(和Mambaforge)使用Conda-Forge作为默认通道。
如果您使用的是Minconda或Anaconda,请将其设置为使用Conda-Forge:
添加Conda-Forge通道:
conda config --add channels conda-forge
将通道优先级更改为严格:
conda config --set channel_priority strict
如果您安装了Miniforge(或Mambaforge),我们建议您使用 mamba 在下面的示例中,使用的依赖项解算器比 conda
。
从Conda安装所有SageMath(不用于开发)¶
创建包含SageMath的新Conda环境,可以使用 mamba
或 conda
:
哪里 X
是Python的版本,例如 3.9
。
要在那里使用Sage,
进入新环境:
conda activate sage
启动SageMath:
sage
如果有任何安装失败,请打开一个 GitHub Issue for conda-forge/sage-feedstock 。
使用Conda为Sage发行版提供系统包¶
是否安装了Conda(通过输入以下命令进行检查 conda info
),您可以从源代码安装SageMath,如下所示:
创建一个新的CONDA环境,包括SAGE识别的所有标准包,并将其激活::
$ conda env create --file environment-3.11-linux.yml --name sage-build $ conda activate sage-build如果您使用不同的体系结构,请替换
linux
通过macos
。或者,使用environment-optional-3.11-linux.yml
代替environment-3.11-linux.yml
创建一个拥有SAGE认可的所有标准和可选程序包的环境。可通过替换来选择不同的Python版本
3.11
通过3.9
或3.10
在这些命令中。然后,将使用Conda提供的编译器并使用Conda::安装的许多包来构建SageMath发行版
$ ./bootstrap $ ./configure --with-python=$CONDA_PREFIX/bin/python \ --prefix=$CONDA_PREFIX $ make
使用Conda为Sage库提供所有依赖项¶
您可以从源代码构建和安装Sage库,使用conda提供它的所有依赖项。这绕过了Sage发行版的大部分构建系统,是为Sage开发设置环境的最快方式。
在这里,我们假设您正在使用Git结账。
或者,为Sage库设置构建并行度。使用对您的计算机有意义的任何值-不超过核心数:
$ export SAGE_NUM_THREADS=24使用Sage的依赖项和一些其他开发人员工具创建并激活新的Conda环境::
.. tab:: mamba .. code-block:: shell $ mamba env create --file src/environment-dev-3.11-linux.yml --name sage-dev $ conda activate sage-dev .. tab:: conda .. code-block:: shell $ conda env create --file src/environment-dev-3.11-linux.yml --name sage-dev $ conda activate sage-dev或者,您可以使用
src/environment-3.11-linux.yml
或src/environment-optional-3.11-linux.yml
,它将只安装标准(和可选)包,而不安装任何额外的开发人员工具。可通过替换来选择不同的Python版本
3.11
通过3.9
或3.10
在这些命令中。引导源代码树并安装构建先决条件和Sage库:
$ ./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::
$ sage -c 'print(version())' SageMath version 10.2.beta4, Release Date: 2023-09-24
请注意 make
根本没有用过。所有依赖项(包括所有的Python包)都由Conda提供。
因此,您将更快地获得Sage的工作版本。但是,请注意,这将使任何Sage-the-Distributed命令的使用失效,例如 sage -i
。不要使用它们。
通过使用 pip install --editable
在上述步骤中,Sage库以可编辑模式安装。这意味着当您只编辑Python文件时,不需要重新构建库;重新启动Sage就足够了。
编辑任何Cython文件后,使用以下命令重建Sage库:
$ pip install --no-build-isolation --config-settings editable_mode=compat -v -v --editable src
为了稍后更新CONDA环境,您可以运行::
$ mamba env update --file src/environment-dev-3.11-linux.yml --name sage-dev
要构建文档,请使用:
$ pip install --no-build-isolation -v -v --editable ./pkgs/sage-docbuild
$ sage --docbuild all html
备注
交换机 --config-settings editable_mode=compat
恢复 legacy setuptools implementation of editable installations 。喜欢冒险的开发人员可能会省略此开关,而尝试可编辑安装的现代PEP-660实现,请参阅 :issue:`34209` 。
备注
您可以通过运行以下命令来更新Conda锁文件 .github/workflows/conda-lock-update.py
或者通过跑步 conda-lock --platform linux-64 --filename src/environment-dev-3.11-linux.yml --lockfile src/environment-dev-3.11-linux.lock
手工操作。