我刚刚使用以下命令安装了 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,但我做的这个有点儿像骗人的把戏。我认为更好的解决方案是更改路径。但我不知道哪个文件包含此路径。如果有人能提供一点智慧就太好了。