見出し画像

Pythonの悪夢再び condaのアップデートでハマった件 結局Anacondaを再インストールするハメに


condaのバージョンに対するWARNINGが出力されました

Pythonで機械学習を検証する環境を構築した際にcondaのバージョンに対するWARNINGが出力されました。

下記が、そのログになります。

==> WARNING: A newer version of conda exists. <==
  current version: 22.9.0
  latest version: 24.5.0

WARNINGの内容は、私が使用しているcondaのバージョンが22.9.0であるのに対して、最新のバージョンである24.5.0が存在します、とのことです。

condaは、Python環境のライブラリパッケージを管理する非常に重要なコマンドです。

このため、WARNINGを重く受け止め、condaのバージョンアップを行うことにしたのですが、これが悲劇の始まりでした。

なぜかcondaのバージョンアップができない

condaのバージョンアップについては、下記の経緯で実行しました。

> conda update -n base -c conda-forge conda

上記のコマンドを実行したことで、非常に多くのライブラリパッケージがアップデートされました。

アップデートの詳細は、ログが自動で消去されてしまうため、不明です。

しかし、condaのバージョンを確認したところ、アップデートは行われていませんでした。

> conda --version
conda 22.9.0

なぜ?
(? _ ?)

続いて、インターネットでcondaのアップデート方法を検索したところ、下記のコマンドが紹介されていました。

> conda update conda

上記のアップデートコマンドを実行したところ、今回も複数のライブラリパッケージがアップデートされました。

しかし、condaのバージョンは変わりませんでした。

こうなったら、再び全てのライブラリパッケージをアップデートする以外に方法は無さそうです。

過去にハマったのでやりたくはないのですが、やってみました。

> conda update --all

その後、"conda update conda"を実行しましたが、condaのバージョンは変わりませんでした。

最終手段として、condaをアンインストールしてから、再度、インストールすることにしました。

しかし、condaをインストールするにはcondaコマンドを実行します。

このため、condaをアンインストールしたらcondaがインストールできなくなるのではないかと考えました。

メチャクチャ不安でしたが、やってみました。

> conda uninstall conda

すると、エラーが出力されました。

RemoveError: This operation will remove conda without replacing it with
another version of conda.

エラーの内容は、この操作は置き換える他のバージョンのcondaが無いのにcondaを削除します的な意味です。

もしかして、複数バージョンのcondaをインストールすることができるのでしょうか。

良く分かりません。

再度、インターネットでcondaのアップデートに関する情報を検索したところ、下記のコマンドを実行せよとの情報を見つけました。

> conda update -n base conda -c anaconda

今回も、非常に多くのライブラリパッケージがアップデートされました。

しかし、condaのバージョンは変わりませんでした。

続いて、下記のコマンドを試してみました。

> conda update -n base conda -c defaults

非常に多くのライブラリパッケージがアップデートされましたが、condaのバージョンは変わりませんでした。

続いて、下記のコマンドを実行しました。

> conda update -n base -c defaults conda --repodata-fn=repodata.json

その結果、condaが実行できなくなってしまいました。
_| ̄|○

もはや、Anacondaの再インストールしか方法は無いようです。

Anacondaを再インストールしました

Anacondaを再インストールしたところ、ついにcondaのバージョンが更新されました。

> conda --version
conda 24.5.0

この後は、これまでインストールしたライブラリパッケージをすべて追加しなければなりません。
(T _ T)

とりあえず、Pythonプログラムを実行してライブラリが無いとのエラーが出たら、その都度、そのライブラリパッケージをインストールすることにしました。

素朴な疑問 仮想環境について

私はこれまで使ったことがなかったのですが、Pythonには仮想環境というものが存在します。

仮想環境なので、何か問題が発生したとしても、その影響はその仮想環境内で閉じることになると思われます。

もし、私が仮想環境を使用していたとしたら、Anacondaを再インストールする必要は無かったのかもしれません。

折角なので、次回は仮想環境を有効活用することにします。

この記事が気に入ったらサポートをしてみませんか?