跳到内容

圣人/圣人

文件夹和文件

姓名姓名
上次提交消息
上次提交日期

最新提交

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
“创建可行的开源替代方案Magma、Maple、Mathematica和MATLAB”

Sage是在GNU General Public下发布的开源数学软件GPLv2+许可证,包括兼容软件许可证.世界各地的人们圣人的发展。完整的文件在线提供。

目录

入门

那些不耐烦的人可以使用预先构建的Sage,该Sage可从以下任何网站在线获得

粘合剂 Gitpod现成代码 在GitHub代码空间中打开

没有本地安装。否则请继续阅读。

这个Sage安装指南提供了一个决策树,指导您选择安装类型那对你最有效。这包括从源头构建,使用容器图像或使用云中圣人。

本自述文件包含从源代码构建Sage的独立说明。这需要您克隆git存储库(如本自述文件所述)或下载来源在表单中一个柏油球。

如果您有问题或遇到问题,请不要犹豫通过电子邮件发送sage-support邮件列表或在问贤人问答网站.

支持的平台

Sage试图支持所有主要的Linux发行版macOS和Windows(使用Windows Subsystem for Linux或虚拟化)。

特定版本Sage支持平台的详细信息可以在章节中找到可用性和安装帮助此版本的发布指南.

我们非常感谢Sage为修复可移植性错误所做的贡献并帮助将Sage移植到新平台;请在sage-水平邮件列表.

[Windows]准备平台

在Windows上运行Sage的首选方法是使用Windows子系统Linux(WSL)。遵循官方WSL安装指南安装Ubuntu(或其他Linux发行版)。确保分配WSL足够的RAM;已知5GB有效,而2GB可能不足以从源头构建Sage。然后适用于Linux中的所有安装说明。

另外,您还可以使用Docker在Windows上运行Linux(看见在下面)或其他虚拟化解决方案。

[macOS]准备平台

  • 如果您的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是使用./配置,后接制作。但是,我们强烈建议阅读以下关于构建Sage的逐步说明。

这些说明涵盖了所有Linux、macOS和WSL。

可以找到为这些说明提供背景的更多详细信息在节中从源代码安装在安装指南中。

  1. 确定源/构建目录(SAGE_ROOT软件):

    • 在个人计算机上,您的:envvar:主页目录就可以了。

    • 例如,您可以使用SAGE_ROOT=~/SAGE/SAGE,我们将用作下面的运行示例。

    • 您至少需要10 GB的可用磁盘空间。

    • 源目录的完整路径必须包含没有空格.

    • 启动生成后,无法移动源/生成目录而不破坏内容。

    • 您可能希望避免慢文件系统,例如网络文件系统(NFS)诸如此类。

    • [macOS]macOS允许在不使用精确大小写的情况下更改目录。在为macOS编译时,请注意这种便利性。忽略精确更改为:envvar时大写:SAGE_ROOT软件可以导致构建需要在路径名中精确大写的依赖项错误。

  2. 使用克隆源吉特:

    • 检查一下吉特可用,打开终端并输入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版本吉特.

  3. 安装系统软件包。

    请参考安装部分来源在中Sage系统包编译安装手册您可以安装的。完成后,跳到步骤7(引导)。

    或者,遵循以下更细粒度的方法。

  4. [Linux,WSL]安装所需的最低构建前提条件:

    • 编译器:海湾合作委员会,格福特兰,克++(GCC版本从8.4.0到13.x支持Clang(LLVM)的最新版本)。请参见build/pkgs/gcc/SPKG.rstbuild/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-预先要求

  5. 可选:建议您同时使用LaTeX和安装的ImageMagick工具(例如“convert”命令)因为一些绘图功能从中受益。

  6. [开发]如果您计划进行Sage开发或以其他方式与票证分支,不仅发布,还安装引导前提条件。查看文件夹中的文件构建/pkgs/_bootstrap/distros,或参观https://doc.sagemath.org/html/en/reference/spkg/_bootstrap.html#spkg-引导数据库

  7. 使用以下命令引导源树:

    $make配置

    (如果未安装引导必备组件,则此命令将下载一个提供预构建引导输出的包。)

  8. 清理构建环境。使用命令

    $环境

    检查当前的环境变量,特别是路径,包装_配置_路径,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配置文件中,以便运行在以后的所有会话中自动执行。)

  9. (可选)决定安装前缀(SAGE_局部):

    • 传统上,默认情况下,Sage安装在子目录层次结构根在SAGE_ROOT/本地/.

    • 可以使用更改./configure--前缀=SAGE_LOCAL,哪里SAGE_局部是所需的安装前缀必须可由用户写入。

      如果将此选项与--禁用可编辑,完成后,您可以删除整个Sage源代码树构建过程。安装在中的内容SAGE_局部Sage的独立安装。

    • 请注意,在Sage的构建过程中,制作生成安装(进行安装是无操作)。因此用户必须可以写入安装层次结构。

    • 如果需要,请参阅Sage安装手册中的选项安装到共享位置,例如/usr/本地/.不要试图将圣人打造为.

  10. (可选)查看配置选项,其中包括许多可选软件包:

    $ ./配置--帮助

    Sage开发商值得注意的选项如下:

    • 使用选项--配置缓存拥有配置保留配置值的磁盘缓存。这样可以很好地加速在尝试进行包升级的票务分支时涉及配置步骤的自动重新运行。

    • 使用选项--启用缓存安装Sage并使用可选程序包卡切,预配置为保持从源文件创建的对象文件的磁盘缓存。这可以给在不同分支之间切换时,在磁盘空间使用费用。

  11. 可选,但强烈建议:将一些环境变量设置为自定义构建。

    例如制造环境变量控制是否并行运行多个作业。在具有4个处理器的机器上,打字export MAKE=“MAKE-j4”将生成脚本配置为使用4个作业执行Sage的并行编译。在一些强大的机器,你甚至可以考虑-j16型,作为建筑比CPU核心更多的作业可以进一步加快速度。

    要减少生成期间的终端输出,请键入导出V=0.(V(V)代表“冗长”。)

    一些环境变量值得特别注意:科科斯群岛,CXX公司常设费用。这些变量定义编译器可以在配置时设置,并记录其值在构建时和运行时进一步使用。

    有关更多环境变量的深入讨论,请参见建筑Sage,参见安装指导.

  12. 类型./配置,然后是要使用的任何选项。例如,用gf2x型Sage提供的包装,使用./configure--with-system-gf2x=否.

    在成功的最后./配置运行,您可能会看到消息建议使用您的软件包安装额外的系统软件包经理。

    对于大型圣人名单包装,Sage能够检测已安装的系统包是否适合与一起使用圣人;在这种情况下,Sage不会从源代码中创建另一个副本。

    有时,消息会建议安装您的系统上已安装。请参阅前面的配置消息或文件配置日志以供解释。此外消息可能会建议安装实际上不是可用;只有您发行的最新版本才会拥有所有这些推荐的软件包。

  13. 可选:如果您选择安装其他系统软件包,的重播./配置将测试是否安装了版本可用于Sage;如果是,这将减少编译Sage所需的时间和磁盘空间。软件包的使用可能是调整人./配置参数(再次检查./configure--帮助).

  14. 类型制作就这样!一切都是自动的非交互式。

    如果您遵循了上述说明,尤其是关于安装由输出建议的系统包./配置(步骤11),关于并行构建(步骤10),在现代电脑上建造Sage不到一个小时。(否则,可能需要更长的时间。)

    构建应该可以在所有完全支持的平台上正常工作。如果是这样不,我们想知道!

  15. 类型./鼠尾草尝试一下。在Sage中,试着举例2 + 2,绘图(x^2),plot3d(λx,y:x*y,(-1,1),(-1、1))测试2D和3D中的简单计算和绘图。类型Ctrl键+D类退出退出Sage。

  16. 可选:类型制作ptestlong测试文档中的所有示例(超过200000行输入!)--这需要10分钟到几个小时。如果有2到3次故障,不要太过惊慌,但请随时发送电子邮件至logs/ptestlong.log那个包含的错误sage-support邮件列表.如果有很多失败,那么您的构建存在严重问题。

  17. 的HTML版本文档在Sage的编译过程中构建,并驻留在目录中本地/share/doc/sage/html/。您可能希望在浏览器中为其添加书签。

  18. 可选:如果要构建文档的PDF版本,运行制作文档-pdf(这需要安装LaTeX)。

  19. 可选:安装您感兴趣的可选软件包:通过键入获取列表./sage--可选或访问程序包文档页面.

  20. 可选:创建指向已安装的鼠尾草中的脚本目录路径例如/usr/本地。这将允许您输入Sage鼠尾草从任何地方而不是要么输入完整路径,要么导航到圣人目录和类型./鼠尾草。可以通过运行:

    $sudo ln-s$(./sage-sh-c'ls$sage_ROOT/venv/bin/sage')/usr/local/bin
  21. 可选:将SageMath设置为现有Jupyter笔记本中的Jupyter内核或JupyterLab安装,如一节所述启动SageMath在Sage安装指南中。

使用PyPI的替代安装

为了从PyPI在Python环境中安装Sage,Sage提供了pip(点阵)-可安装包圣母标准.

除非您需要将Sage安装到特定的现有环境中,否则我们建议您例如,创建并激活一个全新的虚拟环境~/sage venv公司/:

$python3-m venv~/sage venv$source~/sage-venv/bin/activate

作为第一步,安装sage_conf公司,它在的子目录中构建各种先决条件包~/.鼠尾草/:

(sage-venv)$python3-m pip安装-v sage_conf

成功安装后,驾驶室提供了各种Python包。可以使用以下命令列出控制盘:

(sage-venv)$ls$(sage-config sage_SPKG_WHEELS)

如果出现这样的错误sage-config配置未找到,请检查所有消息那个pip安装命令可能已打印。您可能需要调整您的路径,例如:

$export PATH=“$(python3-c'导入sysconfig;打印(sysconfig.get_PATH(“脚本”,“posix_user”)):$PATH”

现在安装驾驶室和sage_设置包,最后安装Sage库:

(sage-venv)$python3-m pip安装$(sage-config sage_SPKG_WHEELS)/*.whl sage_setup(sage-venv)$python3-m pip安装--无构建隔离-v sagemath-standard

以上说明安装了Sage的最新稳定版本。要安装最新的开发版本,请添加开关--预(pre)所有调用python3-m pip安装.

注:PyPI有各种其他pip(点阵)-名称中带有“sage”字样的可安装软件包。其中一些是由SageMath项目维护的,一些是由SogeMath用户为各种用途以及其他用途与SageMath完全无关。不要使用这些包鼠尾草圣哲数学。有关软件包的管理列表,请参阅章节软件包和功能Sage参考手册。

SageMath Docker图像

Docker状态

SageMath在Docker Hub上提供,可通过以下方式下载:

dockerpull-sagemath/sagemath

目前,只有稳定版本保持最新。

故障排除

如果您在构建Sage时遇到问题,请查看Sage安装指南,以及中特定于版本的安装帮助释放旅游对应于您正在安装的版本。

请不要犹豫,在SageMath论坛sage-support邮件列表. TheSage安装指南中的故障排除部分提供了关于要提供哪些信息的说明,以便我们能够提供更有效地帮助。

为圣人贡献力量

如果您想为Sage做贡献,我们强烈建议您阅读开发人员指南.

Sage有以下语言编写的重要组件:C/C++、Python、Cython,Common Lisp、Fortran和一些Perl。

目录布局

简化的目录布局(仅限基本文件/目录):

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

有关更多详细信息,请参阅我们的开发者指南.

构建系统

这是Sage软件发行版构建系统的简要总结。完整的Sage系统有两个组件——Sage Python库及其相关的用户界面,以及Sage的主要依赖项(对于用户未提供的依赖项系统)。

Sage的Python库是使用设置.py按原样编写脚本Python包标准(Sage’s设置.py不是普通的,但不是异常)。

构建系统的其余大部分与构建所有Sage的以正确的顺序相互关联。依赖关系Sage包含的内容称为SPKG(即“Sage包”),并列出在下面构建/pkgs.

Sage构建系统的主要入口点是顶级生成文件源树的根。与大多数使用autoconf(Sage)的常规项目不同(如下所述)生成文件不生成。相反,它包含一些高级目标和与引导相关的目标系统。尽管如此,我们还是跑了生成<目标>从源的根树--未在顶级中显式定义的目标生成文件通过了到下的另一个Makefile构建/生成/生成文件.

后者构建/生成/生成文件 由自动生成的配置脚本,使用中的模板build/make/Makefile.in.这个包括创建Sage库本身的规则(制作sagelib)、和用于建立和安装Sage的每个附属设施(例如。制作gf2x).

这个配置脚本本身(如果尚未构建)可以由生成运行引导数据库脚本(后者需要GNU自动工具正在安装)。顶级生成文件也会自动处理此问题。

总而言之,运行如下命令制作python3位于源树如下所示:

  1. 制作python3
  2. 运行./引导如果配置需要更新
  3. 运行./配置使用任何以前配置的选项,如果构建/生成/生成文件需要更新
  4. 将目录更改为建造/制造并运行安装脚本--这是只不过是运行的前端make-f build/make/Makefile python3,它设置一些必要的环境变量并记录一些信息
  5. 构建/生成/生成文件包含建筑的实际规则蟒蛇3; 包括构建所有蟒蛇3的依赖项优先(及其依赖关系,递归);执行实际的软件包安装圣哲香包程序

搬迁

不支持移动SAGE_ROOT软件SAGE_局部目录在建造Sage之后。如果确实要移动目录,则必须运行进行distclean从头开始重新建造圣人。

对于系统范围的安装,您必须将Sage构建为“普通”用户然后作为root用户可以更改权限。请参阅安装指南了解更多信息。

重新分发

您当地的Sage安装几乎与任何“开发人员”完全相同安装。您可以对文档、源代码等进行更改像我们一样轻松地将完整的结果打包以进行重新分配这样做。

  1. 要使用当前安装的包进行二进制分发,参观sagemath/二进制-pkg.

  2. 要制作您自己的Sage源tarball,请键入:

    $make发行

    结果放在目录中距离/.

对包含软件的更改

Sage附带的所有软件均受各自作者的版权保护并根据开源许可证发布GPL版本3或后来兼容的。请参见复制.txt了解更多详细信息。

源位于未修改(尽可能)的tarball中上游/目录。其余描述,版本附带的信息、修补程序和构建脚本内部版本/pkgs/<packagename>目录。此目录是Sage git存储库的一部分。

版权所有(C)2005-2024 The Sage Development Team

https://www.sagemath.org