Anacondaのアンインストール

久しぶりの雨でちょっと憂鬱な気分になっているマスターU(@Udemy11)です。

どうもPycharmのパッケージが変な感じがして、Anacondaに原因があるのではないかと考えています。

最初の頃に使用していたインタープリターがもともとMacに入っているPython3を使っていて、途中からAnacondaのPython3に変更したのですが、そこからpip installで入れたパッケージがうまく使えなかったりと、ちょっと変な感じだなと思いながら使っていました。

Python学習【365日チャレンジ】も一息ついたので、あらためてAnacondaをアンインストールして再インストールしたいと思います。

Anacondaのアンインストール

Anacondaの公式サイト

に詳しく書かれているので、英語がわかればスムーズにアンインストールできると思いますが、最初にAnaconda3フォルダを削除すると書かれているので、ついつい削除してしまって、あとから困っちゃうことになる人もいるのではないかと思います。

完全にAnacondaをアンインストールするには、anaconda-cleanを使う必要があるようで、2番目の説明でその解説が書かれているんですよね。

ということで、まずはanaconda-cleanのインストールが必要なようです。

anaconda-cleanのインストール

anaconda-cleanをインストールするには次のコマンドを実行します。

conda install anaconda-clean

しかし、このコマンドを実行してみるものの、エラーが起こるんです

Collecting package metadata (current_repodata.json): failed

UnavailableInvalidChannel: The channel is not accessible or is invalid.
  channel name: simple
  channel url: https://pypi.python.org/simple
  error code: 404

You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.

とりあえず、指示に従ってconda config --show channelsを使ってchannelを表示してみると次のように表示されました。

channels:
  - https://pypi.python.org/simple
  - https://pypi.org/
  - http://localhost:3141/root/pypi/+simple/
  - https://pipy.do.jp/

で、このあとどうするの?と思いつつ、いろいろと調べてみると、解決につながるようなQAがGitHubにありました。

まず、このQAに従って、conda config --remove 【URL】で【URL】にhttps://pypi.python.org/simpleなどを入れて、すべてのchannelを削除しました。

その後、conda config --add channels defaultdefaultチャンネルを追加して、再度conda install anaconda-cleanを実行しました。

その結果がこちら

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - anaconda-clean

Current channels:

  - https://conda.anaconda.org/default/osx-64
  - https://conda.anaconda.org/default/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

https://anaconda.organaconda-cleanを調べてみろとのことなので、調べてみたところ、次のページに辿り着きました。

このページに書かれている次のコマンドを実行してみました。

conda install -c anaconda anaconda-clean

すると、なんとか無事インストールが始まり、途中一度Proceed ([y]/n)?とたずねられたときにyと答えることでインストールが完了したかと思いきや、よく見ると次のようなエラーが。。。

RemoveError: 'setuptools' is a dependency of conda and cannot be removed from
conda's operating environment.

またまたGoogleさんにいろいろと聞いてみると、それっぽい解決策が見つかったので早速実行。

pipインストールしたsetuptoolsが関係しているようで、conda update --force condaでアップデートしたあと、conda install -c anaconda setuptoolssetuptoolsをインストールすればいいようですが、この段階でやっぱりエラーが発生。

そこで、pip uninstall setuptoolssetuptoolsを削除してからconda install -c anaconda anaconda-cleanを実行してみました。

しかしやっぱり最後に同じエラーが起こってしまいます。

で、最終的にたどり着いたのがこのQA.

このQAの中にある回答で次のようなものがありました。

This was the only thing that worked for me, when using miniconda in pwsh on a Win8 machine.

# Remove index cache, lock files, unused cache packages, and tarballs.
conda clean -a -vv
conda deactivate
conda update -y -n base -c defaults conda --force
conda activate
conda update -y --force conda
pip install -U setuptools

Windows8環境での解決方法でしたが、藁をもすがる思いで試してみることに。

最後のpip install -U setuptools以外のコードを順番に実行してみます。

cleanコマンドは、使われていないパッケージやキャッシュを削除してくれます。

その後deactivateで非アクティブ化してからデフォルトの状態にして、再びアクティブ化、最後に強制的にcondaをアップデートしています。

このあと、再度conda install -c anaconda anaconda-cleanを試してみると、無事インストールが完了しました!

いやーほんとここまでが長かった〜。

こんなところではまる人はあんまりいないんでしょうね〜。

どうやらcondaのアップデートでも途中でsetuptoolsが原因で止まってしまうことがあるようなので、condaのアップデートでハマった場合にも、この方法で解決できるかもしれません。

anaconda-cleanの実行

パッケージをインストールできれば次はanaconda-cleanを実行します。

(base) bigmacpro@BigMac-Pro ~ % anaconda-clean
Delete .anaconda? (y/n): y
Backup directory: /Users/bigmacpro/.anaconda_backup/2021-02-15T130519
Delete .astropy? (y/n): y
Delete .conda? (y/n): y
Delete .condarc? (y/n): y
Delete .ipynb_checkpoints? (y/n): y
Delete .ipython? (y/n): y
Delete .jupyter? (y/n): y
Delete .matplotlib? (y/n): y

あとは、yをエンターしていけば、すべてのパッケージが削除されます。

.anaconda_backupの削除

anaconda-cleanを実行すると、/Users/bigmacpro/.anaconda_backup/フォルダが作成されるので、このフォルダを下記コマンドで削除します。

rm -rf ~/.anaconda_backup

バックアップフォルダを削除したので、次はAnacondaフォルダを削除します。

Anaconda3フォルダの削除

ネットの記事によるとAnaconda3フォルダを削除するみたいな感じでしたが、私の場合/Users/bigmacpro/opt/anaconda3にインストールされているので、optフォルダごと削除しようとおもって、下記のコマンドを実行しました。

rm -rf opt

少し時間がかかりますが、完了すればFinderからoptフォルダが削除されているのが確認できます。

これでAnacondaのアンインストールが完了ですが、もう一つやっておくことがあります。

AnacondaへのPATHを削除

ターミナルからPythonを実行するときのPATHがAnaconda3フォルダ内へのPATHになったままなので、そのPATHを削除しておく必要があります。

次のコマンドを実行して.bash_profileを開きます。

open ~/.bash_profile

Anacondaのアンインストール

テキストエディットでファイルが開くので、すべて削除してファイルを保存して終了します。

ここでふと思ったんですよね。

Catalinaからは、bashじゃなくて、zshで動いてるんじゃなかったっけ?と

で、.zprofileも、open ~/.zprofileでファイルを開いて、中身を削除したあと保存しておきました。

その後、source ~/.zprofileで設定を反映させたあと、ターミナルを一度終了させてから再度起動し、下記コマンドを実行すると、Anaconda3ディレクトリへのPATHが削除されているのがわかります。

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

これでPATHの削除を含めたAnacondaのアンインストールが完了です。

Anacondaのインストール

Anacondaのインストールは、いろいろなサイトで紹介されているので、問題なくインストールと初期化ができると思うので、下記のPythonJapanなどを参考に、インストールしましょう。

元記事がこちら

基本的にAnacondaの公式サイトからインストーラをダウンロードしてから実行したあと、ターミナルでcondaを初期化すれば完了です。

ちなみに私の環境ではPATHが通っていなかったので、/Users/bigmacpro/opt/anaconda3/bin/conda init zshとフルパスで実行する必要がありました。

あとは、使用するPycharmのインタープリターにAnacondaのPython3.8を追加すれば、Pycharmからも新しくインストールしたAnaconda環境のPythonを使えるようになります。

まとめ

今日はかなりハマってしまいました。

ほんと使っている環境がおかしくなると元に戻すのにめっちゃ時間がかかるんですよね。

解決方法はネット上にたくさん紹介されていますが、あくまでなんの問題もなくスムーズにできるかどうかはそれぞれの環境によるとおもいます。

ちょっと変わったことをしている場合は、ほぼスムーズに進むことはないかもしれません。

これで一旦、Anacondaの環境がクリアーになったので、Pythonの学習もへんなつまづきがなくなるかもしれません。

同じようにはまっている人はいないかもしれませんが、参考になれば幸いです。