Minicondaを入れたけどMeCabのためにAnacondaに戻した話

Anacondaがbaseでなくなった

「Anaconda」と「MeCab」を使っていたM1搭載Macに、「Miniconda」と「TensorFlow」をインストールしたけど、結局「Anaconda」と「MeCab」に戻したいう話です。
原因は今後調べ、「Anaconda」&「MeCab」と「Miniconda」&「TensorFlow」を共存させたいと考えています。
今回、共存をなぜあきらめたかというと、

% conda env list
# conda environments:
#
                         /Users/username/miniconda3
base                     /opt/anaconda3
mini_conda               /opt/anaconda3/envs/mini_conda

という環境を用意したはずなのですが、後日「MeCab」と「fastText」を「Anacona」環境に再度インストールしようとしたところ、うまくいきませんでした。
「Miniconda」環境が「base」になり、「Miniconda」に「fastText」をインストールしようとして失敗していたようです。
「conda env list」を実行すると、以下のようになってました。

 (base) % conda env list
# conda environments:
#
base                  *  /Users/username/miniconda3
                         /opt/anaconda3
                         /opt/anaconda3/envs/mini_conda

ただ、「Anaconda」のインタフェースから確認すると「base」は「/opt/anaconda3/」となっているなど、ターミナルとの差異が出てしまいました。
加えて、「/opt/anaconda3/envs/mini_conda/」に入れたパッケージが空(から)になっていました。

% conda activate /opt/anaconda3/envs/mini_conda 
(mini_conda) %

(mini_conda) % conda list
# packages in environment at /opt/anaconda3/envs/mini_conda:
#
# Name                    Version                   Build  Channel

ターミナルで「Anaconda」環境をアクティベートしてインストールを試すこともしましたがうまくいきませんでした。

% conda activate /opt/anaconda3
(/opt/anaconda3) @hogawan

今の自分のスキルでは手を打てなくなり、「Miniconda」を一旦削除することにしました。
理由はまだわからないのですが、前回の一連の処理の中で「何か」をやってしまったようです。

Minicondaを削除するしかない

「Miniconda」を削除します。

#インストールディレクトリを削除
% rm -rf ~/miniconda3
#設定ファイルで「miniconda」の記述を削除
% nano ~/.zshrc
#関連ファイルを削除
%  rm -rf ~/.condarc ~/.conda ~/.continuum

ところが、「conda」が実行できなくなりました。

% conda env list
zsh: command not found: conda

色々と調べたところ、ターミナル上で「pathを通す」という処理が必要になったようです。

 % /opt/anaconda3/bin/conda init zsh
 #(中略)
==> For changes to take effect, close and re-open your current shell. <==

ターミナルを再起動したところ、「conda」が動きました。

% conda deactivate base
(base) % conda env list
# conda environments:
#
base                  *  /opt/anaconda3
mini_conda               /opt/anaconda3/envs/mini_conda

「base」を「Anaconda = /opt/anaconda3」に戻せました。

結局何がやりたかったかというと

前回と今回の取り組みで何がやりたかったかというと、「MeCab」と「fastText」を使った文書分類です。
まず行いたかったのは以下の投稿と同様のことです。

FastTextを使ってサクッと多クラス分類 - Qiita
はじめにFastTextはMeta社(旧Facebook)によって開発されたオープンソースの自然言語処理ライブラリです。livedoorニュースコーパスの多クラス分類を行ったところ、非常にお手軽に…

文字コードや改行コードなどで四苦八苦しましたが、最終的には文書分類を実行できました。
その手順を整理している最中です。

タイトルとURLをコピーしました