文章目录

  • 一、安装方式一:预编译二进制版本
  • 二、安装方式二:源码编译

最近在做实验遇到要安装Sage,也是花了将近三天时间才弄好,一波三折整理了一下,以便后续还要安装时能少走弯路。

首先,了解一下sage是什么。Sage是免费的、开源的数学软件,支持代数、几何、数论、密码学、数值计算和相关领域的研究和教学。所以说想做密码学实验还是要掌握这个软件。

其次,安装sage时在不同系统和不同方式的差异。这是Sage官网安装教程,或者看这篇中文版安装教程,两个教程是一样的。Windows系统下的安装就直接从下载.exe文件下载安装,这里主要记录在Ubuntu 系统中的安装过程。

注意,官网给出了多种安装方式,我主要实验了两种,分别为预编译二进制版本源码编译(Source Code),二进制版本安装方式更简便,但由于版本要求,我还又用源码进行了安装。

一、安装方式一:预编译二进制版本

(1)从官网下载对应的版本:下载地址

(这个版本看自己需求了,我选择的是sage 9.3-ubuntu 20.04版本)

(2)解压压缩包:我是直接Extract到本地(时间可能较长),会自动生成一个SageMath文件。

(3)进入SageMath安装目录里输入./sage即可。

$ cd SageMath/
$ ./sage

若显示如下页面,即表示安装完成。

二、安装方式二:源码编译

但可能会由于版本问题,导致一些操作不可用,例如我遇到的问题是“TypeError: unsupported operand parent(s) for *”,不支持Abelian group of points和Rational Field的“乘法”操作。

网上咨询了别人发现,可能需要sage 9.6及以上版本。但预编译二进制版本只看到了9.4版本,没有找到更新的,故选择了这种方式。

(1)从官网下载对应的包:下载地址

(我选择的sage 9.6)


(2)同样解压压缩包:Extract到本地(时间可能较长),会自动生成一个sage-9.6的文件。

(2)参考官网给的安装教程和这个帖子:

1)安装前的预准备阶段,看看一些工具包是否安装好了。缺什么包就直接按照命令行工具需求安装即可,如sudo apt-get install 包名


例如,检查perl是否安装好了,

$ command -v perl

如果输出了安装目录,即已经有了,没有的话就sudo apt-get install perl

我为了方便和稳定,就直接复制了教程中给的包,如下

$ sudo apt-get install  bc binutils bzip2 ca-certificates cliquer cmake curl ecl eclib-tools fflas-ffpack flintqs g++ gcc gengetopt gfan gfortran glpk-utils gmp-ecm lcalc libatomic-ops-dev libboost-dev libbraiding-dev libbrial-dev libbrial-groebner-dev libbz2-dev libcdd-dev libcdd-tools libcliquer-dev libcurl4-openssl-dev libec-dev libecm-dev libffi-dev libflint-arb-dev libflint-dev libfplll-dev libfreetype6-dev libgc-dev libgd-dev libgf2x-dev libgiac-dev libgivaro-dev libglpk-dev libgmp-dev libgsl-dev libhomfly-dev libiml-dev liblfunction-dev liblinbox-dev liblrcalc-dev liblzma-dev libm4ri-dev libm4rie-dev libmpc-dev libmpfi-dev libmpfr-dev libncurses5-dev libntl-dev libopenblas-dev libpari-dev libpcre3-dev libplanarity-dev libppl-dev libprimesieve-dev libpython3-dev libqhull-dev libreadline-dev librw-dev libsingular4-dev libsqlite3-dev libssl-dev libsuitesparse-dev libsymmetrica2-dev libz-dev libzmq3-dev libzn-poly-dev m4 make nauty ninja-build openssl palp pari-doc pari-elldata pari-galdata pari-galpol pari-gp2c pari-seadata patch perl pkg-config planarity ppl-dev python3 python3-distutils python3-venv r-base-dev r-cran-lattice singular singular-doc sqlite3 sympow tachyon tar tox xcas xz-utils

为了保险起见,我就全部复制安装了,可能需要等待一些时间。

2)安装可选软件:dvipng、ffmpeg、ImageMagick、LaTeX(最好安装).

$ sudo apt-get install dvipng ffmpeg imagemagick texlive

最好把以下几个包都安装了

3)进入sage-9.6安装目录,逐步输入以下步骤:

$ cd Downloads/sage-9.6
$ export SAGE_FAT_BINATY=''yes''
$ ./configure

编译:进行make的时间非常长,需要耐心等待,我用时一个多小时,可别断网了。

$  MAKE='make -j4' make

最后执行

$ ./sage

显示如下页面,即安装成功!

Ubuntu 20.04系统中Sage(sagemath)安装及使用详细过程相关推荐

  1. Ubuntu 20.04系统中VSCode+CMake+GTest实现C++程序自动化单元测试的详细方法

    严正声明:本文系作者davidhopper原创,未经许可,不得转载. 一般地讲,软件测试分为四个阶段:单元测试.集成测试.系统测试.验收测试.单元测试一般指对软件中的最小可测试单元进行检查和验证.最小 ...

  2. Linux用命令安装音乐软件,在Ubuntu 18.04系统中使用命令安装Qmmp音乐播放器的方法...

    在Ubuntu 18.04操作系统中安装Qmmp音乐播放器非常简单,只需要两段命令就可以搞定.下面介绍其方法. Qmmp音乐播放器介绍 Qmmp是一款开源基于Qt的多媒体播放器,提供Qt4及Qt5支持 ...

  3. 云Ubuntu 20.04 系统下 erpnext v13 安装部署(图文并茂按步骤基本成功)

    本文基于京东云,Ubuntu 20.04 ,系统安装 本文全程使用"FinalShell SSH"   "Noepad++" 工具 一.使用ssh登录京东云 ( ...

  4. Ubuntu 16.04系统中利用CUDA安装更新NVIDIA显卡驱动程序的方法

    严正声明:本文系作者davidhopper原创,未经许可,不得转载. 在ThinkPad系列笔记本电脑中使用过Ubuntu 16.04系统的同学都知道,NVIDIA显卡驱动程序特别难安装.以我使用的T ...

  5. Ubuntu 20.04系统中安装vncserver的方法步骤

    系统中安装vncserver以便于远程图形化管理和使用.安装vncserver的步骤如下: 第一步:安装桌面环境和VNCServer #更新apt update#安装桌面环境sudo apt inst ...

  6. linux系统下载18.04,在Ubuntu 18.04系统中下载安装Persepolis Download Manager

    本文介绍在Ubuntu 18.04系统中下载和安装Persepolis Download Manager的方法,也适用在Linux Mint版本中,它是一个用Python编写的免费开源下载管理器,支持 ...

  7. ubuntu 安装kde桌面_在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法

    本文介绍在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法.Plasma Desktop是KDE创建的一种流行且功能强大的桌面环境,主要用于Linux系统.KDE Plas ...

  8. 在Win10 PC上安装Ubuntu 20.04 系统

    在Win10 PC上安装Ubuntu 20.04 系统 本文仅适用于UEFI+GPT类型的PC,有关这方面的知识请自行了解. 引言 为什么需要使用 Linux 系统? 既已看到此文,我相信你一定有需求 ...

  9. win10 安装linux 需要多大空间,在Win10 PC上安装Ubuntu 20.04 系统

    在Win10 PC上安装Ubuntu 20.04 系统 本文仅适用于UEFI+GPT类型的PC,有关这方面的知识请自行了解. 引言 为什么需要使用 Linux 系统? 既已看到此文,我相信你一定有需求 ...

最新文章

  1. 《CDN 之我见》原理篇——CDN的由来与调度
  2. 使用SAP HANA Web-based Development Workbench进行SQLScript练习
  3. 【纠错】——mysql Authentication plugin ‘caching_sha2_password‘ is not supported问题处理
  4. Storm教程2安装部署
  5. 阿里联合学界开源大型3D场景数据集,6813个户型,几何与纹理细节丰富
  6. php 过滤入库不可见字符,php如何过滤不可见字符
  7. Mybatis_day4_Mybatis的注解开发
  8. dp - Google Code jam Qualification Round 2015 --- Problem B. Infinite House of Pancakes
  9. win11下载时卡住0%不动怎么办 Windows11下载卡在0%的解决方法
  10. 拓端tecdat|R语言最优化问题中的共轭函数
  11. 【深入浅出通信原理-学习笔记】信源编码
  12. Mysql-索引优化
  13. matlab 全局符号变量,优化全局变量使用 - MATLAB Simulink Example - MathWorks 中国
  14. 检查服务器端口占用,服务器中如何检查端口是否开放
  15. 集成电路只有丝印如何识别引脚顺序
  16. 你都是会点啥技术(四)--- Java
  17. StarGAN v2 : Diverse Image Synthesis for Multiple Domains 不同图像多领域合成阅读理解
  18. 全自动百度推广引流软件
  19. 和 Node.js 创始人 Ryan Dahl 的对话
  20. vue引入的el-tree前添加图标

热门文章

  1. 山东理工大学ACM平台题答案 2561 九九乘法表
  2. TECPLOT自定义函数
  3. 英特尔Skylake处理器全面入驻Google Compute Engine
  4. 【总结】1396- 60+个 VSCode 插件,打造好用的编辑器
  5. css中_box的属性包括,css box-sizing 属性
  6. c语言随机产生三个大写字母,C语言编写的随机产生四则运算测试题
  7. 根轨迹图、Bode图、Nyquist图的Matlab仿真
  8. Hello 内存 cache 主存 外存
  9. matlab 祁彬彬,MATLAB 向量化编程基础精讲
  10. 读书总结-《数学之美》