是否可以在 python session 中导入 sagemath 函数?
从用户的角度来看,我希望做的是:
>>> import sage
>>> sage.kronecker_symbol(3,5) # ...or any other sage root functions
而不是访问
kronecker_symbol(3,5)
从 sagemath session 。如果可能的话,它会非常方便,因为它允许将 sagemath 的所有功能嵌入到 python 世界中。
最佳答案
在 Python session 中导入 SageMath 函数
有几种方法可以实现这一目标。
来自操作系统包管理器的 SageMath
一些操作系统原生封装了 Sage,
例如 Arch Linux、Debian、Fedora、Gentoo、NixOS、
及其衍生产品(Linux Mint、Manjaro、Ubuntu ...)。
请参阅 Sage wiki 上的专用“分发”页面:
如果使用其中之一,请使用包管理器
安装
sage
或 sagemath
然后Sage 库将安装在系统的
Python,在那个 Python 中,这将成为可能
做类似的事情
>>> from sage.arith.misc import kronecker
>>> kronecker(3, 5)
-1
另一种选择是使用跨平台包管理器
例如 Conda、Guix 和 Nix。这些应该适用于大多数
Linux 发行版和 macOS。另一种选择是
运行 Docker 容器。
我将在下面详细介绍 Conda 案例。
SageMath 与 Conda
用 Conda 安装 Sage,你会得到它。
说明在这里:
并从安装 Conda 发行版开始,要么
Miniconda、Minimamba 或 Anaconda,然后创建一个
sage
conda 环境。一次
sage
conda 环境已安装,激活它:conda activate sage
有了
sage
conda 环境激活,运行python
并导入
sage
模块或导入函数如
kronecker
从那个模块应该可以工作。
关于Sagemath 作为 python 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61408795/