jupyter notebookが起動しなくなった原因はconda init zsh?

不具合対処への奮闘
スポンサーリンク

またまた私の環境下でのjupyter notebookに不具合発生。今回はMacのターミナルから「jupyter notebook」のコマンドを入力しても、「zsh: command not found: jupyter」と返されて起動しなくなりました。

ちょっと前まで動いていたのに…

しかもAnaconda Navigatorからの起動はできたのですけどね。

今回は、ターミナルから起動できるように行った対処法をまとめてみます。

スポンサーリンク

起動しなくなる前の環境

この時点での私のMacの環境はmacOS Catalinaです。ターミナルをCatalinaにアップデートしたあとに、shellをbashからzshに変更しています。

macOS 10.15 Catalinaへのアップデートでターミナルをzshへ変更する方法
macOS 10.15 Catalinaへのアップデートでターミナルシェルのデフォルトが「bash」から「zsh」へと変更になりました。ここでは、そのログインシェルのデフォルトを「bash」から「zsh」に変更する方法を扱います。

そこにAnacondaをインストールしていますが、そこでも不具合が生じました。その時の対処法は.zshrcファイルにPATHを記述することでした。

macOS CatelinaにAnacondaをインストールする(zshでの不具合対応)
macOSがCatelinaにアップデートしたことで、そのままではAnacondaが上手く使えない状況になっています。ここではCatelinaにAnacondaを新規インストールして、zshでの動作不具合の対処方法をまとめてみました。

今回起こった不具合は、全ては確認していませんがほぼこれと同じ現象でしたので、原因は.zshrcファイルに何らかの記述がなされているのではないかと予想しました。

スポンサーリンク

起動しなくなる前に行った操作 conda init zsh

この間、私が行った操作は、condaでの仮想環境構築でした。

【Anaconda】condaコマンドで仮想環境を構築する方法
Anacondaのcondaコマンドで仮想環境を構築する方法を扱います。Python のバージョンによってはライブラリが対応していないことがあり、バージョンを落として作業する必要がある場合に、この仮想環境を構築しての利用が考えられます。

この記事内にあるように、仮想環境を構築しても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がコメントアウトされて上書きされていたのが原因でした。

ちょっとした遠因としては、こちらの操作も少しは関係しているかもしれません。

Macのターミナルの先頭に(base)と表示された時に表示を消す方法
anacondaを利用していると、何かの拍子にMacのターミナルの先頭に(base)と表示されることがあります。ターミナルを再起動しても消えず、気になります。この(base)表示を消す方法をVisual Studio Codeのターミナルも合わせてまとめます。

とりあえずは、コマンドで起動しない場合はPATHの環境を確認してみることですね。

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