condaからemacsを入れたらcondaが壊れた話
condaからemacsを入れたら、以下のようなエラーが…
$ conda Traceback (most recent call last): File "/opt/conda/bin/conda", line 7, in <module> from conda.cli import main ModuleNotFoundError: No module named 'conda'
調べてみるとemacsを入れる際にpythonが勝手にアップデートされて、使っているcondaとの整合性が無くなるんだとか…。
勝手に揃えてくれれば良いのにな^_^;
なのでemacsを入れる前に、condaコマンドとpythonを予めアップデートさせないといけないらしい。
まずは、emacsによってアップデートされた後のpythonのバージョンを調べる。
調べ方は conda install
を打って、必要なパッケージが出てくるので、その中にpythonがあるかを確認。
もちろん、パッケージが確認できたら Proceed ([y]/n)?
は n
で中断する。
$ conda install -c conda-forge emacs ︙ The following packages will be downloaded: ︙ python-3.8.5 |h4d41432_2_cpython 71.0 MB conda-forge ︙ Proceed ([y]/n)? nを入力後にEnter
次にcondaのバージョンをアップデート後のpython(3.8.5)に合わせないといけないので、そのバージョンを調べる。
調べ方は公式のcondaパッケージ一覧から、好きなのを選ぶ。今回はconda-forge / conda 4.8.3を選択してみた。
conda-forge / conda 4.8.3のページから Files
の項目をクリックすると、conda-forge / condaのパッケージ一覧が見られるので、パッケージ名からconda-forge / condaがアップデート後のpythonに対応しているかを調べる。
今回はアップデート後のpythonのバージョンが3.8系統なので、パッケージ名に py38
が含まれているかをチェックすると py38
が含まれているパッケージがあるので、condaのバージョンは4.8.3を指定すれば良さそうだと分かる。
今のcondaのバージョンを調べると以下のようになる。
$ conda list | grep conda # packages in environment at /home/ユーザ名/anaconda3: ︙ conda 4.5.11 py37_0 ︙
今のcondaのバージョンはpython3.7系統に対応する4.5.11らしい。
なのでcondaを python=3.8.5
に合わせた4.8.3に上げる。
$ conda install conda=4.8.3=py38_0 python=3.8.5
これでemacsが無事に入った。