はじめに
Anaconda の環境登録などはせず,pyenv の環境を Jupyter の kernel として登録する時のメモです.
用途としては,python3系の中でバージョンを細かく分けたいときなどです.
Anaconda の仮想環境登録をする場合はこちらを参照.
コマンド一発で
python -m ipykernel install --user --name={name} --display-name={display-name}
-
name
,display-name
は既存のものと被らないように適宜設定.
手順
手元で python 3.7.4 の環境を登録した時の手順です.他のバージョンを登録する場合は適宜変更して下さい.
pyenv のインストール方法はこちらの記事が丁寧に書いてくれています.
→ pyenv を用いた Python3 インストール
まず,追加したい version の pyenv に切り替える.
$ pyenv global 3.7.4
pyenv が切り替わっていることを確認する.
$ pyenv versions
system
3.6.5
* 3.7.4 (set by /home/user/.pyenv/version)
jupyter で現在登録されている kernel を確認する.
$ jupyter kernelspec list
Available kernels:
python3 /home/user/.local/share/jupyter/kernels/python3
python2 /usr/local/share/jupyter/kernels/python
以下のコマンドで現在の pyenv 環境を jupyter に登録する.
$ python -m ipykernel install --user --name=python3.7.4 --display-name=python3.7.4
Installed kernelspec python3.7.4 in /home/user/.local/share/jupyter/kernels/python3.7.4
-
name
,display-name
を適宜設定する. -
name
は kernel の情報が入るディレクトリの名前,display-name
は jupyter でカーネルを選択するときの表示名になる. -
name
では version の指定は行っておらず,現在の環境を登録するだけという点に注意!
$ jupyter kernelspec list
Available kernels:
python3.7.4 /home/user/.local/share/jupyter/kernels/python3.7.4
python3 /home/user/.pyenv/versions/3.7.4/share/jupyter/kernels/python3
python2 /usr/local/share/jupyter/kernels/python2
無事に現在の環境が jupyter のカーネルに登録できました.
左側に出てくる kernel の名前は先ほどつけた name
になっています.(display-name
はあくまで Jupyter上での名前)
kernel の削除
間違えて登録した時は,以下のようにアンインストール出来ます.
$ jupyter kernelspec uninstall python3.7.4
うまく行かない時は
先ほど登録した kernel のディレクトリの kernel.json
というファイルを確認する.
$ cat /home/user/.local/share/jupyter/kernels/python3.7.4/kernel.json
{
"argv": [
"/home/user/.pyenv/versions/3.7.4/bin/python3",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python3.7.4",
"language": "python"
}
"/home/user/.pyenv/versions/3.7.4/bin/python3"
が正しく指定出来ているかどうか確認してみる.
ここでのバージョンの指定が間違っていると,name
やdisplay_name
があっていても所望のバージョンにならない.