😉
Jupyter Notebookでカーネル選択を可能にするための設定
zenn.devで初投稿の者です。テストも兼ねて投稿させていただきます。
本稿で実現できること
- jupyter notebook 実行時に複数カーネル(≒仮想環境)を使い分けられるようになる
手順
(仮想環境の管理にcondaを使います)
condaにて仮想環境を構築する
GitBashやWindows PowerShellなどで以下を実行してください。
$conda --version
conda 4.13.0
$conda info -e
base * C:\Users\hoge\anaconda3
$conda create --name hoge_env python=3.8
# 中略
$conda info -e
base * C:\Users\hoge\anaconda3
hoge_env C:\Users\hoge\anaconda3\envs\hoge_env # <- new
$conda activate hoge_env
(hoge_env)$ # <- こんな感じで環境に入っていることを示してくれるはず
(hoge_env)$conda info -e
base C:\Users\hoge\anaconda3
hoge_env * C:\Users\hoge\anaconda3\envs\hoge_env # <- 選択されていることを確認
jupyterに仮想環境を読み込ませる
(hoge_env)$pip install ipython ipykernel
(hoge_env)$ipython kernel install --user --name=hoge_env --display-name=hoge_env
- Jupyter Notebookを起動し、http://localhost:8888/tree/ にアクセスする
- 画面右上の「NEW」を押下し、Python3(ipykernel)以外に「hoge_env」という選択肢が読み込まれていることを確認する
(手順以上)
トラブルシューティング
condaコマンドが実行できない
condaをインストールしたのにcondaコマンドが実行できない場合は、環境変数に設定する必要があります。
- ご自身の環境で、anacondaがインストールされているパス(anaconda3という名前のフォルダの位置)を調べてメモする
- スタートメニューにて「環境変数を編集」メニューと入力し、押下
- ユーザー環境変数欄の「新規」を押下
- 変数名に
ANACONDA
、変数値にC:\Users\hoge\anaconda3;C:\Users\hoge\anaconda3\Scripts
のように入力(先程のメモを使うこと) - PC再起動
- ターミナルでconda --versionと入力し、バージョン情報が出力されることを確認
conda activateしても環境が変わらない
以下のようになった場合はここを御覧ください。
$conda activate hoge_env
$ # <- 仮想環境に入ってくれない
$conda info -e
base * C:\Users\hoge\anaconda3
hoge_env C:\Users\hoge\anaconda3\envs\hoge_env # <- やっぱりactivateできていない
ネットで少し調べると、「conda install -n root -c pscondaenvs pscondaenvs
を実行すると直る」と出てくるのですが、筆者の環境の場合これに合わせてconda init
とPCの再起動が必要でした。それがわからず相当の時間を費やしてしまいました...。
すなわち、筆者の環境ですと以下の実行で改善がはかれました。(PowerShellで実行。GitBashでは未確認)
$conda install -n root -c pscondaenvs pscondaenvs
$conda init powershell
$ #-> PC再起動する
$conda activate hoge_env
(hoge_env)$ # <- こんな感じで環境に入れることを確認
まとめ
- 網羅的に解説していた記事が見つからず少し不便に感じたので、この度執筆してみました。どなたかのお役に立ちましたら幸いです。
参考
- https://qiita.com/aical/items/5d632a7ee4a3233bb8fc
- https://stackoverflow.com/questions/72924729/conda-activate-not-actually-activating-a-virtual-env/72927839#72927839
- https://github.com/conda/conda/issues/626#issuecomment-313913036
(以上)
Discussion