我不记得两年前我是如何安装 SageMath 的。
但我猜是通过apt
命令,也许sudo apt install sagemath-jupyter
可以将 SageMath 的版本提供9.5
给每个人,或者通过文件.deb
。
因为,当我运行这个命令时:
locate sagemath | xargs -I {} dirname {} | grep -vF '/usr/share/doc/sagemath/' | sort | uniq
我看到它被分派到下一个文件夹中:
/usr/lib/python3/dist-packages
/usr/lib/python3/dist-packages/sage/features
/usr/lib/python3/dist-packages/sage/features/__pycache__
/usr/lib/python3/dist-packages/sagemath_standard-9.5.egg-info
/usr/lib/python3/dist-packages/sagenb_export/nbextension/www
/usr/lib/python3/dist-packages/sage/tests/books
/usr/lib/python3/dist-packages/sage/tests/books/computational-mathematics-with-sagemath
/usr/lib/python3/dist-packages/sage/tests/books/computational-mathematics-with-sagemath/__pycache__
/usr/lib/python3/dist-packages/sage/tests/books/computational-mathematics-with-sagemath/sol
/usr/lib/python3/dist-packages/sage/tests/books/computational-mathematics-with-sagemath/sol/__pycache__
/usr/share
/usr/share/applications
/usr/share/doc
/usr/share/doc-base
/usr/share/doc/sagemath
/usr/share/doc/sagemath-database-conway-polynomials
/usr/share/doc/sagemath-database-elliptic-curves
/usr/share/doc/sagemath-database-graphs
/usr/share/doc/sagemath-database-mutually-combinatorial-designs
/usr/share/doc/sagemath-database-polytopes
/usr/share/doc/sagemath-doc
/usr/share/doc/sagemath-jupyter
/usr/share/icons/hicolor/64x64/apps
/usr/share/icons/hicolor/scalable/apps
/usr/share/jupyter/kernels
/usr/share/jupyter/kernels/sagemath
/usr/share/lintian/overrides
/usr/share/mime/text
/usr/share/sagemath
/usr/share/sagemath/combinatorial_designs
/usr/share/sagemath/conway_polynomials
/usr/share/sagemath/cremona
/usr/share/sagemath/ellcurves
/usr/share/sagemath/graphs
/usr/share/sagemath/reflexive_polytopes
/usr/share/sagemath/reflexive_polytopes/Full2d
/usr/share/sagemath/reflexive_polytopes/Full3d
/var/cache/apt/archives
/var/lib/dpkg/info
/var/lib/swcatalog/icons/debian-bookworm-main/48x48
/var/lib/swcatalog/icons/debian-bookworm-main/64x64
从这里开始,我想遵循与其他用户“相同的路径”,即使用10.x
版本。
在示例中:最新(10.3)
但弄清楚该做什么并不容易。尤其是与这样的提及:
从 Sage 10.2 开始,我们推荐以下发行版,它们提供维护良好且最新的 SageMath 软件包:Arch Linux 和 Void Linux。
您知道我应该如何安装最新的 SageMath 版本吗?
答案1
Debian 12(当前稳定版本)和 debian sid 都包含 sagemath 9.5,因此您可能以明智的方式安装了它:apt install sagemath-jupyter
。没什么特别要做的!
遗憾的是,Sagemath 有着难以打包的历史,我记得在我的职业生涯中曾多次与之斗争。我很高兴看到 Debian 已经打包了最新版本!
事实上,甚至 debian Experiment 都没有尝试打包 Sagemath 10.2,这可能意味着以下三件事之一:
- 没有人尝试过
- 有人正在研究它,但它仍然需要工作,或者只是时间,因为在 sagemath 可以移植之前,debian 中的某些部分需要更新。您可能必须启用实验性存储库。
- 有人尝试过,但 sagemath 10.2 需要的依赖项根本无法安装到当前的 debian 中
我想我们属于第二种情况,因为10.2
萨尔萨舞有一个分支机构,所以显然有人正在努力将其提供给您!
因此,获取这些包需要执行以下操作:
# get things we'll need to build packages:
apt update
apt install git devscripts sudo
# get the source package of sagemath, i.e. what becomes the .deb
#
# /-------------------------- use the branch that ports 10.2 to debian
# | /------------ also get the actual source code of sagemath, as well
# v v
git clone --branch 10.2 --recursive https://salsa.debian.org/science-team/sagemath.git
cd sagemath
# now to the actual package build:
# (1) install the tools we need to even install dependencies
debian/rules build-dep-maint
# (2) install dependencies
debian/rules build-dep
# (3) build the software to go into the package
debian/rules build
# (4) build the package
fakeroot debian/rules binary
现在,我继续在当前的 debian 上尝试这个,正如预测的那样,它在 (2) 中失败,因为 libflint-dev 仅在版本 2.9.5 中可用,而不是 3.0.0 中;删除该版本要求并尝试使用版本 2.9.5 进行构建会导致构建失败。所以,不在 Debian stable/12/bookworm 上!在 debian testing/trixie 上,我们得到了一个应该足够新的 libflint-dev。在 debian testin/trixie 上尝试上述方法! (当然,您可以在 /etc/apt/apt.sources.list.d/debian.list 中启用 trixie 套件,但是嗯,您最终会得到混合安装的 debian,因此这可能不符合稳定性;它目前正在使用该方法构建在我的 debian:12 容器中)。
所以,我认为可以公平地说,目前还没有真正的 Debian 原生方式来处理 Debian 图书工作;如果您不回避不稳定的软件,您可以自己构建东西。然而,对于 (ana)conda 来说也是如此:10.2 处于“暂存”区域,尚未完全准备好供公众使用。
长话短说,如果可以的话 等待。 Sage 10.3正在准备中; sage 10.2 目前构建在 Frankestein 的稳定/测试机器上。对于最终用户来说,这是尘埃落定的绝佳时机。
但是,如果您想帮助更快地完成移植,请将您的 debian 更新为 debian trixie(更明智的做法是:安装podman
并运行debian:testing
容器)并按照上述方式从源代码构建 sage,安装生成的软件包,并帮助开发人员解决出现的任何问题。两个都