環境
- Ubuntu 20.04
- anacondaインストール済み
起きたこと
(base) hoge@hogehoge:~$ sudo apt-get install sagemath
でsagemathをインストールして
(base) hoge@hogehoge:~$ sage
で起動しようとすると以下のエラーが起きた。
Traceback (most recent call last):
File "/usr/share/sagemath/bin/sage-ipython", line 9, in <module>
from sage.misc.banner import banner
ModuleNotFoundError: No module named 'sage'
結論
anaconda-base環境を
(base) hoge@hogehoge:~$ conda deactivate
で終了させた上でsageを打つとエラーが起きずに起動した。ターミナルを起動した瞬間からsageが動く環境にしたい場合、.bashrcのanacondaがパスを通している部分を消す(こちらを参考)。
私の場合はanaconda環境でも使えるようにしたかったので、(念の為sagemath用の仮想環境を作って起動した上で)
conda install -c conda-forge sage
でsageをインストールすることで使えるようにした。今の所それで使えているが問題が起きたら追記する。
原因
こちらに書いてある通りsagemathをインストールするとsagemathを使うのに必要なものがまとめてインストールされる。このときpythonにもsageというモジュールがインストールされるのだが、それがインストールされるpython環境がanacondaではなく内部にもともとあるpython環境(何と呼ぶのかわからない...)にインストールされるため、anaconda-base環境が起動している状態では動かないのだと思われる。