LoginSignup
0
0

More than 1 year has passed since last update.

sagemathをインストールして起動するとModuleNotFoundErrorが出た場合の対処法

Posted at

環境

  • 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環境が起動している状態では動かないのだと思われる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0