入门 支持的平台 [Windows]准备平台 [macOS]准备平台 从源代码生成的说明 SageMath Docker图片 故障排除 为圣人贡献力量 目录布局 构建系统 搬迁 重新分发 构建系统 对包含软件的更改
-
如果您的Mac使用Apple Silicon(M1、M2、M3、M4;arm64)架构,并且 您通过从旧版Mac传输文件来设置Mac,请确保 目录 /usr/本地 不包含Homebrew的旧版本 (或其他软件),用于您可能复制的x86_64体系结构 超过。 请注意,M1的Homebrew安装在 /opt/自制 ,不是 /usr/本地 . -
如果您希望使用conda,请参阅 上的节 康达 在圣人中 指导安装手册。 -
否则,我们强烈建议使用Homebrew(“缺少的软件包 macOS管理器”) 网址:https://brew.sh/ ,它提供了 格福特兰 编译器和许多库。 -
否则,如果您不想安装Homebrew,则需要安装 最新版本的Xcode命令行工具。 打开终端窗口并 运行 xcode-select--安装 ; 然后在弹出窗口中单击“Install”(安装)。 如果 Xcode命令行工具已经安装,您可能需要检查 需要通过键入更新 软件更新-l .
-
确定源/构建目录( SAGE_ROOT软件 ): -
在个人计算机上,您的:envvar: 主页 目录就可以了。 -
例如,您可以使用 SAGE_ROOT=~/SAGE/SAGE ,我们 将用作下面的运行示例。 -
您至少需要10 GB的可用磁盘空间。 -
源目录的完整路径必须包含 没有空格 . -
启动生成后,无法移动源/生成 目录而不破坏内容。 -
您可能希望避免慢文件系统,例如 网络文件系统(NFS) 诸如此类。 -
[macOS]macOS允许在不使用精确大小写的情况下更改目录。 在为macOS编译时,请注意这种便利性。 忽略精确 更改为:envvar时大写: SAGE_ROOT软件 可以导致构建 需要在路径名中精确大写的依赖项错误。
-
-
使用克隆源 吉特 : -
检查一下 吉特 可用,打开终端并输入 shell提示符下的以下命令( $ ): $git--版本 git版本2.42.0 确切的版本并不重要,但如果此命令出错, 安装 吉特 使用包管理器,使用以下命令之一: Arch Linux上的$sudo pacman-S git# Debian/Ubuntu上的$sudo apt-get更新&&apt-get安装git# $sudo yum在Fedora/Redhat/CentOS上安装git# openSUSE上的$sudo zypper安装git# Void Linux上的$sudo-xbps-install git# -
创建目录,其中 SAGE_ROOT软件 应确定: $mkdir-p~/sage $cd~/鼠尾草 -
克隆Sage git存储库: $git clone-c core.symlinks=true--过滤器blob:none\ --来源上游--分支开发--标记\ https://github.com/sagemath/sage.git 此命令获取最新的开发版本。 更换 --分支机构发展 通过 --分支主机 选择 而是最新的稳定版本。 这将创建子目录 ~/sage/sage (参见章节 设置git 以及《Sage开发者指南》中的以下章节 了解更多信息。) -
更改为创建的子目录: $cd鼠尾草 -
[Windows]Sage源代码树包含符号链接 如果Windows行结束而不是UNIX行结束,则构建将不起作用 使用行尾。 因此,建议(但没有必要)使用 的WSL版本 吉特 .
-
-
安装系统软件包。 请参考 安装部分 来源 在中 Sage系统包编译安装手册 您可以安装的。 完成后,跳到步骤7(引导)。 或者,遵循以下更细粒度的方法。 -
[Linux,WSL]安装所需的最低构建前提条件: -
编译器: 海湾合作委员会 , 格福特兰 , 克++ (GCC版本从8.4.0到13.x 支持Clang(LLVM)的最新版本)。 请参见 build/pkgs/gcc/SPKG.rst 和 build/pkgs/gfortran/SPKG.rst 讨论合适的编译器。 -
构建工具:GNU 制作 ,格努 4米 , 珍珠 (包括 ExtUtils::MakeMaker ), 兰利布 , 吉特 , 焦油 , 公元前 . 请参见 build/pkgs/_prereq/SPKG.rst 对于 更多详细信息。 -
Python 3.4或更高版本,或Python2.7,完整安装包括 乌里布 ; 但理想的版本是3.9.x、3.10.x、3.11.x、3.12.x 将避免必须构建Sage自己的Python 3副本。 请参见 build/pkgs/python3/SPKG.rst 了解更多详细信息。
我们已经收集了提供这些构建的系统包的列表 前提条件。 请参阅文件夹中的 构建/pkgs/prereq/distros , 文件 arch.txt(拱门.txt) , debian.txt(德语) (也适用于Ubuntu、Linux Mint等), 软呢帽.txt (也适用于Red Hat、CentOS), opensuse.txt文件 , 懒惰软件.txt 、和 无效.txt ,或访问 https://doc.sagemath.org/html/en/reference/spkg/_prereq.html#spkg -预先要求 -
-
可选:建议您同时使用LaTeX和 安装的ImageMagick工具(例如“convert”命令) 因为一些绘图功能从中受益。 -
[开发]如果您计划进行Sage开发或以其他方式与 票证分支,不仅发布,还安装引导 前提条件。 查看文件夹中的文件 构建/pkgs/_bootstrap/distros ,或 参观 https://doc.sagemath.org/html/en/reference/spkg/_bootstrap.html#spkg -引导数据库 -
使用以下命令引导源树: $make配置 (如果未安装引导必备组件,则此命令 将下载一个提供预构建引导输出的包。) -
清理构建环境。 使用命令 $环境 检查当前的环境变量,特别是 路径 , 包装_配置_路径 , LD库路径 , CFLAGS公司 , CPPFLAGS公司 , cxx标志 , 和 LDFLAGS(着陆标志) (如果设置)。 从这些(冒号分隔的)环境变量中删除项 圣人不应将其用于自己的建造。 特别是,移除 项目,如果它们引用以前的Sage安装。 -
[WSL]特别是,WSL从Windows导入许多项目 路径 变量添加到Linux环境中,这可能导致 混淆构建错误。 这些项目通常以 /mnt/c公司 . 最好从环境变量中删除所有这些变量。 例如,您可以设置 路径 使用命令: $export PATH=/usr/sbin/:/sbin/:/bin/:/usr/lib/wsl/lib/ -
[macOS with homebrew]设置构建所需的环境变量: $source./。 自制env 这是为了制作一些自制软件包(即所谓的小桶 包)。 运行一次以应用 对当前终端会话的建议。 你可能需要 在从新终端重建Sage之前重复此命令 会话,或在安装其他自制软件包之后。 (您 也可以将其添加到shell配置文件中,以便运行 在以后的所有会话中自动执行。)
-
-
(可选)决定安装前缀( SAGE_局部 ): -
传统上,默认情况下,Sage安装在 子目录层次结构根在 SAGE_ROOT/本地/ . -
可以使用更改 ./configure--前缀=SAGE_LOCAL , 哪里 SAGE_局部 是所需的安装前缀 必须可由用户写入。 如果将此选项与 --禁用可编辑 , 完成后,您可以删除整个Sage源代码树 构建过程。 安装在中的内容 SAGE_局部 将 Sage的独立安装。 -
请注意,在Sage的构建过程中, 制作 生成 和 安装( 进行安装 是无操作)。 因此 用户必须可以写入安装层次结构。 -
如果需要,请参阅Sage安装手册中的选项 安装到共享位置,例如 /usr/本地/ . 不要试图将圣人打造为 根 .
-
-
(可选)查看配置选项,其中包括 许多可选软件包: $ ./ 配置--帮助 Sage开发商值得注意的选项如下: -
使用选项 --配置缓存 拥有 配置 保留配置值的磁盘缓存。 这样可以很好地加速 在尝试进行包升级的票务分支时 涉及配置步骤的自动重新运行。 -
使用选项 --启用缓存 安装Sage并使用 可选程序包 卡切 ,预配置为保持 从源文件创建的对象文件的磁盘缓存。 这可以给 在不同分支之间切换时,在 磁盘空间使用费用。
-
-
可选,但强烈建议:将一些环境变量设置为 自定义构建。 例如 制造 环境变量控制是否 并行运行多个作业。 在具有4个处理器的机器上, 打字 export MAKE=“MAKE-j4” 将生成脚本配置为 使用4个作业执行Sage的并行编译。 在一些 强大的机器,你甚至可以考虑 -j16型 ,作为建筑 比CPU核心更多的作业可以进一步加快速度。 要减少生成期间的终端输出,请键入 导出V=0 . ( V(V) 代表“冗长”。) 一些环境变量值得特别注意: 科科斯群岛 , CXX公司 和 常设费用 。这些变量定义编译器 可以在配置时设置,并记录其值 在构建时和运行时进一步使用。 有关更多环境变量的深入讨论,请参见 建筑Sage,参见 安装 指导 . -
类型 ./配置 ,然后是要使用的任何选项。 例如,用 gf2x型 Sage提供的包装, 使用 ./configure--with-system-gf2x=否 . 在成功的最后 ./配置 运行,您可能会看到消息 建议使用您的软件包安装额外的系统软件包 经理。 对于大型 圣人名单 包装 ,Sage能够 检测已安装的系统包是否适合与一起使用 圣人; 在这种情况下,Sage不会从源代码中创建另一个副本。 有时,消息会建议安装 您的系统上已安装。 请参阅前面的配置 消息或文件 配置日志 以供解释。 此外 消息可能会建议安装实际上不是 可用; 只有您发行的最新版本才会 拥有所有这些推荐的软件包。 -
可选:如果您选择安装其他系统软件包, 的重播 ./配置 将测试是否安装了版本 可用于Sage; 如果是,这将减少编译 Sage所需的时间和磁盘空间。 软件包的使用可能是 调整人 ./配置 参数(再次检查 ./configure--帮助 ). -
类型 制作 就这样! 一切都是自动的 非交互式。 如果您遵循了上述说明,尤其是关于 安装由输出建议的系统包 ./配置 (步骤11),关于并行构建(步骤10), 在现代电脑上建造Sage不到一个小时。 (否则,可能需要更长的时间。) 构建应该可以在所有完全支持的平台上正常工作。 如果是这样 不,我们想知道! -
类型 ./鼠尾草 尝试一下。 在Sage中,试着举例 2 + 2 , 绘图(x^2) , plot3d(λx,y:x*y,(-1,1),(-1、1)) 测试2D和3D中的简单计算和绘图。 类型 Ctrl键 + D类 或 退出 退出Sage。 -
可选:类型 制作ptestlong 测试文档中的所有示例 (超过200000行输入!)--这需要10分钟到 几个小时。 如果有2到3次故障,不要太过惊慌, 但请随时发送电子邮件至 logs/ptestlong.log 那个 包含的错误 sage-support邮件列表 . 如果有很多失败,那么您的构建存在严重问题。 -
的HTML版本 文档 在Sage的编译过程中构建,并驻留在目录中 本地/share/doc/sage/html/ 。您可能希望在浏览器中为其添加书签。 -
可选:如果要构建文档的PDF版本, 运行 制作文档-pdf (这需要安装LaTeX)。 -
可选:安装您感兴趣的可选软件包: 通过键入获取列表 ./sage--可选 或访问 程序包文档页面 . -
可选:创建指向已安装的 鼠尾草 中的脚本 目录 路径 例如 /usr/本地 。这将 允许您输入Sage 鼠尾草 从任何地方而不是 要么输入完整路径,要么导航到圣人 目录和类型 ./鼠尾草 。可以通过运行: $sudo ln-s$(./sage-sh-c'ls$sage_ROOT/venv/bin/sage')/usr/local/bin -
可选:将SageMath设置为现有Jupyter笔记本中的Jupyter内核 或JupyterLab安装,如一节所述 启动SageMath 在Sage安装指南中。
$python3-m venv~/sage venv $source~/sage-venv/bin/activate
(sage-venv)$python3-m pip安装-v sage_conf
(sage-venv)$ls$(sage-config sage_SPKG_WHEELS)
$export PATH=“$(python3-c'导入sysconfig;打印(sysconfig.get_PATH(“脚本”,“posix_user”)):$PATH”
(sage-venv)$python3-m pip安装$(sage-config sage_SPKG_WHEELS)/*.whl sage_setup (sage-venv)$python3-m pip安装--无构建隔离-v sagemath-standard
dockerpull-sagemath/sagemath
SAGE_ROOT根目录(通过git克隆创建) ├── 建造 │ └── 每个包在这里都是一个子目录 │ ├── 4钛2/ │ … │ └── zlib公司/ ├── 配置顶级配置脚本 ├── COPYING.txt版权信息 ├── pkgs Python分发包的源树 │ ├── 圣人咖啡 │ │ ├── sage_conf.py公司 │ │ └── 设置.py │ ├── 鼠尾草docbuild │ │ ├── sage文档构建/ │ │ └── 设置.py │ ├── 圣人集会 │ │ ├── sage_设置/ │ │ └── 设置.py │ ├── sage-sws2rst公司 │ │ ├── sage_sws2rst/ │ │ └── 设置.py │ └── 圣母标准 │ ├── 垃圾桶/ │ ├── 鼠尾草->..// src/sage │ └── 设置.py ├── 非Python包的本地(SAGE_local)安装层次结构 │ ├── bin可执行文件 │ ├── 包括C/C++标头 │ ├── lib共享库,架构相关数据 │ ├── 共享数据库、架构相关数据、文档 │ │ └── doc Sage和某些组件的可查看文档 │ └── 无功功率,无功功率 │ ├── 库/sage │ │ ├── 已安装/ │ │ │ 已安装的非Python包的记录 │ │ ├── 用于卸载已安装软件包的脚本 │ │ └── venv-python3.9(SAGE_venv) │ │ │ 安装层次结构(虚拟环境) │ │ │ 对于Python包 │ │ ├── bin/可执行文件和已安装的脚本 │ │ ├── lib/python3.9/site包/ │ │ │ Python模块/包安装在这里 │ │ └── var/lib/sage/ │ │ └── 车轮/ │ │ 用于所有已安装Python包的Python-wheels │ │ │ └── 构建sage时的tmp/sage/临时文件 ├── 日志 │ ├── install.log完整安装日志 │ └── pkgs构建单个包的日志 │ ├── 雪花石膏-0.7.12.log │ … │ └── zlib-1.2.11.log文件 ├── 用于生成配置脚本的m4 m4宏 │ └── *. 4米 ├── Makefile运行“make”使用此文件 ├── prefix->SAGE_LOCAL方便符号链接到安装树 ├── README.md此文件 ├── 启动sage的sage脚本 ├── src单片Sage库源代码树 │ ├── Sage内部使用的bin/脚本 │ ├── doc/Sage文档来源 │ └── sage/The sage库源代码 ├── 上游包裹来源 │ ├── 巴贝尔-2.9.1.tar.gz │ … │ └── zlib-1.2.11.目标.gz ├── venv->SAGE_venv到虚拟环境的便利符号链接 └── 版本.txt
制作python3 运行 ./引导 如果 配置 需要更新 运行 ./配置 使用任何以前配置的选项,如果 构建/生成/生成文件 需要更新 将目录更改为 建造/制造 并运行 安装 脚本--这是 只不过是运行的前端 make-f build/make/Makefile python3 , 它设置一些必要的环境变量并记录一些信息 构建/生成/生成文件 包含建筑的实际规则 蟒蛇3 ; 这 包括构建所有 蟒蛇3 的依赖项优先(及其 依赖关系,递归); 执行实际的软件包安装 与 圣哲香包 程序
-
要使用当前安装的包进行二进制分发, 参观 sagemath/二进制-pkg . -
要制作您自己的Sage源tarball,请键入: $make发行 结果放在目录中 距离/ .