在Debian strech上安装sagemath的记录
因为我花了一整夜的时间安装Sagemath,所以这是安装记录。
首先从官方网站下载已编译的Sage软件。这次下载的是版本9。然后解压并尝试启动,但无法启动。出现了以下错误。
重新设置您的新安装目录的路径
这可能需要几分钟的时间,但只需要做一次就可以了。
追溯(最新的调用在最前面):
文件“/home/++++/ダウンロード/SageMath/relocate-once.py”中的第148行,
在这一行中,
p = SearchAndReplace(ROOT_PATH, ‘/home/buildbot/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeqip0oidmas391yaj2’, DESTINATION)。
在文件“/home/++++/ダウンロード/SageMath/relocate-once.py”中的第128行,
在这一行中,
self.root_path = root_path.encode(‘utf-8’)。
UnicodeDecodeError:’ascii’编解码器无法将第11个位置的字节0xe3解码:该位置上的数值不在128范围内。
运行脚本“relocate-once.py”时发生错误。
我不太清楚这到底是在讲什么,但仔细看的话,可以发现sage的主体文件不是可执行文件,而是脚本。看起来是用Python编写的。所以,可以用编辑器打开sage文件。然后注意到SAGE_ROOT被注释掉了,所以把它取消注释,并将其更改为解压系统目录。我将其解压到/use/local/src/SageMath目录下,所以就这样写。然后将sage文件复制到/usr/local/bin目录下,就完成了。如果不写这个SAGE_ROOT,启动可能会失败,所以请注意。我尝试在Debian Stretch上安装了好几次,差点放弃了,但这一次终于成功了,希望对别人有所帮助。因为没有任何信息可参考。
直接编译它会失败,这看起来很像源代码,但实际上不一样。我觉得可能是因为其中包含了已编译的库之类的东西。也许还有其他编译的方法。但如果要编译的话,需要另外有源代码,但我下载并解压它后无法顺利构建。总之,我只是想尽快安装它,所以我选择了优先安装。但是,sagemath的Github分支可以成功编译,所以如果您想自己编译,请编译9.1版的sage(https://github.com/sagemath/sage)。编译大约需要3个小时。稳定版也可能可以编译。
顺便说一句,在我本来不想学习实施技术这种易失流行的东西的时候,尤其是在我开始使用SageMath并开始操作Python之后,我却不得不去学习了。也就是说,事情的开端很重要。起初,我只是出于兴趣浏览了一下深度学习,但最终并没有写代码。因为我只懂C语言,学习另一种设计思想的语言让我感到痛苦。但是正是因为SageMath的缘故,我开始第一次写类似代码的东西。新的事物会根据需要自然而然地通过身体而不是头脑去记住。这似乎是我的风格。
追記:
后来成功地构建并安装了稳定版本。看起来是因为先前已经编译好的sage会干扰到新的构建,导致构建失败。在已经编译好的环境下运行implicit_plot来绘制平面代数曲线时会出现各种警告,有点烦人。但这可能是因为执行环境和构建环境的差异引起的,当我在自己的环境下构建后,成功地显示了图像而不发出任何警告。大家也可以放心地进行构建尝试。
最厉害的可能是可以让已编译的sage保持安静,哈哈。