Sage 无法在 Ubuntu 18.04 上启动,它找不到模块 repl.interpreter

Sage 无法在 Ubuntu 18.04 上启动,它找不到模块 repl.interpreter

我刚刚使用以下命令安装了 sage:

sudo apt-get install sagemath

但每次我尝试启动 sage 时,都会出现以下错误:

$ sage
Traceback (most recent call last):
File "/usr/share/sagemath/bin/sage-ipython", line 7, in module
from sage.repl.interpreter import SageTerminalApp
ImportError: No module named repl.interpreter

我的电脑默认安装的是 Python 2.7。我尝试将其从“/usr/share/sagemath/bin/sage-ipython”更改为 python3。但这并没有解决问题。因此,我删除了该更改。我安装了 Ipython,并pip install sage显示 sage 已在 中可用/home/anik/.local/lib/python2.7/site-packages。最后,我在 中找到了 interpretation.py 文件/usr/lib/python2.7/dist-packages/sage/repl。因此似乎没有缺少任何东西。那么为什么 ipython 无法找到此文件并启动 sage?我不知所措。

答案1

我已经想出了一个解决方案。问题是,python 解释器无法找到 sage 模块的某些文件。因此,首先我必须弄清楚 python 解释器在哪里寻找这些文件。为此,我从命令行启动了 python 解释器,导入了 sage 模块并运行了以下命令:

>>>sage.__file__

输出为:“/home/anik/.local/lib/python2.7/site-packages/sage/__init__.pyc”

但是我之前注意到,sage 模块的所有文件都保存在“/usr/lib/python2.7/dist-packages/sage/”中。所以我只是将文件从那里复制到了 sage 模块所在的位置。

虽然我现在可以开始使用 sage,但我做的这个有点儿像骗人的把戏。我认为更好的解决方案是更改路径。但我不知道哪个文件包含此路径。如果有人能提供一点智慧就太好了。

相关内容