Ubuntu 20.04系统中Sage(sagemath)安装及使用详细过程
文章目录
- 一、安装方式一:预编译二进制版本
- 二、安装方式二:源码编译
最近在做实验遇到要安装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)安装及使用详细过程相关推荐
- Ubuntu 20.04系统中VSCode+CMake+GTest实现C++程序自动化单元测试的详细方法
严正声明:本文系作者davidhopper原创,未经许可,不得转载. 一般地讲,软件测试分为四个阶段:单元测试.集成测试.系统测试.验收测试.单元测试一般指对软件中的最小可测试单元进行检查和验证.最小 ...
- Linux用命令安装音乐软件,在Ubuntu 18.04系统中使用命令安装Qmmp音乐播放器的方法...
在Ubuntu 18.04操作系统中安装Qmmp音乐播放器非常简单,只需要两段命令就可以搞定.下面介绍其方法. Qmmp音乐播放器介绍 Qmmp是一款开源基于Qt的多媒体播放器,提供Qt4及Qt5支持 ...
- 云Ubuntu 20.04 系统下 erpnext v13 安装部署(图文并茂按步骤基本成功)
本文基于京东云,Ubuntu 20.04 ,系统安装 本文全程使用"FinalShell SSH" "Noepad++" 工具 一.使用ssh登录京东云 ( ...
- Ubuntu 16.04系统中利用CUDA安装更新NVIDIA显卡驱动程序的方法
严正声明:本文系作者davidhopper原创,未经许可,不得转载. 在ThinkPad系列笔记本电脑中使用过Ubuntu 16.04系统的同学都知道,NVIDIA显卡驱动程序特别难安装.以我使用的T ...
- Ubuntu 20.04系统中安装vncserver的方法步骤
系统中安装vncserver以便于远程图形化管理和使用.安装vncserver的步骤如下: 第一步:安装桌面环境和VNCServer #更新apt update#安装桌面环境sudo apt inst ...
- linux系统下载18.04,在Ubuntu 18.04系统中下载安装Persepolis Download Manager
本文介绍在Ubuntu 18.04系统中下载和安装Persepolis Download Manager的方法,也适用在Linux Mint版本中,它是一个用Python编写的免费开源下载管理器,支持 ...
- ubuntu 安装kde桌面_在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法
本文介绍在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法.Plasma Desktop是KDE创建的一种流行且功能强大的桌面环境,主要用于Linux系统.KDE Plas ...
- 在Win10 PC上安装Ubuntu 20.04 系统
在Win10 PC上安装Ubuntu 20.04 系统 本文仅适用于UEFI+GPT类型的PC,有关这方面的知识请自行了解. 引言 为什么需要使用 Linux 系统? 既已看到此文,我相信你一定有需求 ...
- win10 安装linux 需要多大空间,在Win10 PC上安装Ubuntu 20.04 系统
在Win10 PC上安装Ubuntu 20.04 系统 本文仅适用于UEFI+GPT类型的PC,有关这方面的知识请自行了解. 引言 为什么需要使用 Linux 系统? 既已看到此文,我相信你一定有需求 ...
最新文章
- 《CDN 之我见》原理篇——CDN的由来与调度
- 使用SAP HANA Web-based Development Workbench进行SQLScript练习
- 【纠错】——mysql Authentication plugin ‘caching_sha2_password‘ is not supported问题处理
- Storm教程2安装部署
- 阿里联合学界开源大型3D场景数据集,6813个户型,几何与纹理细节丰富
- php 过滤入库不可见字符,php如何过滤不可见字符
- Mybatis_day4_Mybatis的注解开发
- dp - Google Code jam Qualification Round 2015 --- Problem B. Infinite House of Pancakes
- win11下载时卡住0%不动怎么办 Windows11下载卡在0%的解决方法
- 拓端tecdat|R语言最优化问题中的共轭函数
- 【深入浅出通信原理-学习笔记】信源编码
- Mysql-索引优化
- matlab 全局符号变量,优化全局变量使用
- MATLAB Simulink Example
- MathWorks 中国
- 检查服务器端口占用,服务器中如何检查端口是否开放
- 集成电路只有丝印如何识别引脚顺序
- 你都是会点啥技术(四)--- Java
- StarGAN v2 : Diverse Image Synthesis for Multiple Domains 不同图像多领域合成阅读理解
- 全自动百度推广引流软件
- 和 Node.js 创始人 Ryan Dahl 的对话
- vue引入的el-tree前添加图标