如何在Ubuntu 17.10中安装Sagemath?求可行方案
在Ubuntu 17.10安装SageMath的解决方案
嘿,你不是唯一一个碰到这个问题的人!Ubuntu 17.10的官方软件源里确实没有预编译的SageMath安装包——毕竟这个版本的Ubuntu早就停止官方支持了,对应的软件包维护也跟着停更了。不过别担心,还有几种靠谱的安装方式可以试试:
1. 使用官方二进制镜像包(最省心的方法)
这是不需要编译的快捷方式:
- 下载适配旧Ubuntu版本的SageMath二进制压缩包(推荐选择SageMath 8.x系列,新版本可能依赖更高版本的系统库,会出现兼容性问题)
- 解压到你指定的安装目录,比如
/opt/sagemath:sudo tar -xzf sage-8.6-Linux-x86_64.tar.gz -C /opt/ - 建立软链接,方便在终端直接调用:
sudo ln -s /opt/sagemath/sage-8.6/sage /usr/local/bin/sage - 测试安装:在终端输入
sage,如果能进入SageMath的交互环境,就说明安装成功了
2. 通过conda安装(适合已有conda环境的用户)
如果你已经在用conda管理Python环境,这个方法也很方便:
- 先创建一个独立的conda环境(推荐这么做,避免和其他项目的依赖冲突):
conda create -n sage_env python=3.6 - 激活这个环境:
source activate sage_env - 从conda-forge源安装SageMath:
conda install -c conda-forge sagemath - 同样,输入
sage命令测试是否能正常启动
3. 从源码编译(兜底方案)
如果上面两种方法都遇到问题,源码编译是最后的选择,不过耗时会比较久:
- 先安装编译所需的依赖包:
sudo apt-get install build-essential gcc g++ make m4 perl python3 python3-dev python3-pip libssl-dev libbz2-dev libgmp-dev libmpfr-dev libmpc-dev libffi-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev - 下载SageMath 8.x系列的源码包:
wget https://download.sagemath.org/src/sage-8.6.tar.gz - 解压并进入源码目录:
tar -xzf sage-8.6.tar.gz && cd sage-8.6 - 开始编译(这个过程可能需要几十分钟,取决于你的硬件):
make - 编译完成后,同样可以建立软链接来方便调用
内容的提问来源于stack exchange,提问作者SantiMontouliu




