在Notebook中添加自定义IPython Kernel
使用场景
当前Notebook默认内置的引擎环境不能满足用户诉求,用户可以新建一个conda env按需搭建自己的环境。本小节以搭建一个“python3.6.5和tensorflow1.2.0”的IPython Kernel为例进行展示。
操作步骤
- 创建conda env。
在Notebook的Terminal中执行如下命令。其中,my-env是虚拟环境名称,用户可自定义。conda详细参数可参考conda官网。
conda create --quiet --yes -n my-env python=3.6.5
创建完成后,执行conda info --envs命令查看现有的虚拟环境列表,可以看到my-env虚拟环境:
sh-4.4$conda info --envs # conda environments: # base * /home/ma-user/anaconda3 TensorFlow-2.1 /home/ma-user/anaconda3/envs/TensorFlow-2.1 my-env /home/ma-user/anaconda3/envs/my-env python-3.7.10 /home/ma-user/anaconda3/envs/python-3.7.10 /opt/conda/envs/my-env
- 执行如下命令进入conda env。
source /home/ma-user/anaconda3/bin/activate /home/ma-user/anaconda3/envs/my-env
- 执行如下命令在my env里安装如下依赖包。
pip install jupyter pip install jupyter_core==5.3.0 pip install jupyter_client==8.2.0 pip install ipython==8.10.0 pip install ipykernel==6.23.1
- 执行下述命令添加虚拟环境为IPython Kernel。
python3 -m ipykernel install --user --name "my-py3-tensorflow-env"
执行完毕后,可以看到下述提示信息。
(my-env) sh-4.4$python3 -m ipykernel install --user --name "my-py3-tensorflow-env" Installed kernelspec my-py3-tensorflow-env in /home/ma-user/.local/share/jupyter/kernels/my-py3-tensorflow-env
- 自定义虚拟环境Kernel的环境变量。
执行cat /home/ma-user/.local/share/jupyter/kernels/my-py3-tensorflow-env/kernel.json,可以看到默认配置如下:
{ "argv": [ "/home/ma-user/anaconda3/envs/my-env/bin/python3", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "my-py3-tensorflow-env", "language": "python" }
按需添加env字段的值,可参考下述配置。其中,PATH中增加了该虚拟环境python包所在路径:
{ "argv": [ "/home/ma-user/anaconda3/envs/my-env/bin/python3", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "my-py3-tensorflow-env", "language": "python", "env": { "PATH": "/home/ma-user/anaconda3/envs/my-env/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ma-user/modelarts/ma-cli/bin", "http_proxy": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "https_proxy": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "ftp_proxy": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "HTTP_PROXY": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "HTTPS_PROXY": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "FTP_PROXY": "http://proxy-notebook.modelarts-dev-proxy.com:8083" } }
- 进入虚拟环境的IPython Kernel。
刷新JupyterLab页面,可以看到自定义的虚拟环境Kernel。如下所示:
单击my-py3-tensorflow-env图标,验证是否为当前环境,如下所示:
- 清理环境。
jupyter kernelspec uninstall my-py3-tensorflow-env
删除虚拟环境。
conda env remove -n my-env