Anaconda + JupyterLab 仮想環境備忘録
社用WindowsPCにすでに納入しているAnaconda!
普段はAnaconda内のJupyterLabでコード書いたりしてました。(追加ライブラリは必要ありませんでした)
PytorchもTensorflowも使うかもとの事で、仮想環境を構築しインストールしようとしたら、、、
思いのほか時間かかっちゃったので、次回 「自分が同じことでつまずかないように」、との願いを込めて残しておきます。
1.Anacondaで仮想環境の構築
Anaconda Promptを立ち上げ、コンソールに以下のコマンドで新しい環境を作ります。(ここでは環境名をtestとします)
また、PytorchやTensorflowがとりあえずpython=3.6に対応してたのでこのVerにしました(PytorchとTensorflowは一緒に使わないので別々の仮想環境作りました)
conda create -n test python=3.6 anaconda
2.仮想環境に切替
conda activate test
testの部分は作成した環境名に変えて使用します。
Anaconda Prompt上で仮想環境に入れば、(base)が(test(作成した仮想環境名))に変わります。
3、ライブラリのインストール
仮想環境に入っている状態でライブラリ入れていきます。
ここの部分はインストールするライブラリによって、conda install~でインストールしていきます。
4.仮想環境のカーネルをJupyterに追加
仮想環境に移動したままの状態で、ipykernelをインストール
pip install ipykernel
そんで仮想環境のカーネルをJupyterに追加していきます。
python -m ipykernel install --user --name=test
このコードのテストの部分も仮想環境名に変えて使用します。
5.environment_kernelsモジュールのインストール
4まででJupyterLabにカーネルが追加されていたので
「仮想環境できた!使える!」と思ってJupyterLabを起動してみたものの、仮想環境が使えずセルが実行できない、、、
それに加えて今のままだとカーネルで仮想環境を選択していても実際に見ているのはbase(デフォルト仮想環境)だそうで、、、
仮想環境の切り替えを行うためにはbase環境にenvironment_kernelsモジュールが必要らしいです。
pip install environment_kernels
(仮想環境側にもこのモジュールがいるという記事も見ましたが、入れなくても動いています、ここよくわかりませんでした。)
6.base環境でJupyterの初期ファイルを編集
ここまで来たらもうすぐです!
base環境上でjupyter_notebook_config.pyを生成します。
(base)C:\Users\ユーザ名>jupyter notebook --generate-config
ユーザ名のとこは個人個人で違うと思います。
これでC:\Users\ユーザ名のところの.jupyter内にjupyter_notebook_config.pyファイルが生成されます。
このファイルを開いて編集していきます。(自分はAnaconda内のSpyderで編集しました)
編集箇所としては
# The Api of KernelSpecManager is provisional and might change without warning
# between this version of Jupyter and the next stable one.
# Default: 'jupyter_client.kernelspec.KernelSpecManager'
# c.NotebookApp.kernel_spec_manager_class = 'jupyter_client.kernelspec.KernelSpecManager'
この部分です。Ctrl+Fで「Kernel」とかで検索したら探せます。
ここに下の2行を追加していきます。(上4行はそのままです。)
# The Api of KernelSpecManager is provisional and might change without warning
# between this version of Jupyter and the next stable one.
# Default: 'jupyter_client.kernelspec.KernelSpecManager'
# c.NotebookApp.kernel_spec_manager_class = 'jupyter_client.kernelspec.KernelSpecManager'
c.NotebookApp.kernel_spec_manager_class='environment_kernels.EnvironmentKernelSpecManager'
c.EnvironmentKernelSpecManager.conda_env_dirs=['C:/Users/ユーザ名/.conda/envs/']
最後の行のユーザ名のところは個人個人で変更必要です!
jupyter_notebook_config.pyファイルを上書き保存します!
以上で必要操作は終わりです!
JupyterLab上で仮想環境を切り替えることができるようになりました!
仮想環境を切り替えるには、「新規Notebook作成の際に選択する」
もしくは、[Kernel] -> [Change kernel]で選択できるので楽ちんです!!!
ここまでお読みいただきありがとうございます!
長文失礼しました!!また次の記事で会いましょう!