またまた私の環境下でのjupyter notebookに不具合発生。今回はMacのターミナルから「jupyter notebook」のコマンドを入力しても、「zsh: command not found: jupyter」と返されて起動しなくなりました。
ちょっと前まで動いていたのに…
しかもAnaconda Navigatorからの起動はできたのですけどね。
今回は、ターミナルから起動できるように行った対処法をまとめてみます。
起動しなくなる前の環境
この時点での私のMacの環境はmacOS Catalinaです。ターミナルをCatalinaにアップデートしたあとに、shellをbashからzshに変更しています。
そこにAnacondaをインストールしていますが、そこでも不具合が生じました。その時の対処法は.zshrcファイルにPATHを記述することでした。
今回起こった不具合は、全ては確認していませんがほぼこれと同じ現象でしたので、原因は.zshrcファイルに何らかの記述がなされているのではないかと予想しました。
起動しなくなる前に行った操作 conda init zsh
この間、私が行った操作は、condaでの仮想環境構築でした。
この記事内にあるように、仮想環境を構築してもconda activateでアクティベートができないというエラー状況だったので、ターミナルに表示された支持に従い「conda init zsh」のコマンドを実行しました。
どうやらこの時に、.zshrcファイルが書き換えられてjupyter notebookなどが起動しなくなったようです。
.zshrcファイルがconda initで書き換えられた部分の確認と編集
「open ~/.zshrc」コマンドをターミナルから実行して、zshrcファイルを開きます。
すると以下のようになっていました。
condaのイニシャライズの記述が追加されています。
上で触れた不具合の時に.zshrcファイルに記述したPATHは1行目なのですが、これが次のようにコメントアウトされているのがわかります。
# export PATH="/Users/Kant/opt/anaconda3/bin:$PATH" # commented out by conda initialize
これが、今回のエラーの原因のようです。conda initによってこのように上書きされていたようです。
そこで、これを次のように#記号を削除してコメントアウトを解除します。
export PATH="/Users/Kant/opt/anaconda3/bin:$PATH"
.zshrcファイルを保存して、ターミナルshellを再起動します。
これでターミナルからjupyter notebookのコマンドで起動することができるようになりました。その他の動作も確認できました。
まとめ
今回のエラーは、conda initコマンドによって以前に.zshrcファイルに設定していたPATHがコメントアウトされて上書きされていたのが原因でした。
ちょっとした遠因としては、こちらの操作も少しは関係しているかもしれません。
とりあえずは、コマンドで起動しない場合はPATHの環境を確認してみることですね。