Notebook中添加Virtualenv作为IPython Kernel

网友投稿 527 2022-05-29

1. 使用场景

当前Notebook默认内置的引擎环境不能满足用户诉求,用户可以新建一个conda env按需搭建自己的环境。

注:Notebook重启后,非挂载盘目录(/home/ma-user/work)的内容将丢失,请及时保存环境或保存镜像

2. 操作流程

本小节以搭建一个“python3.6.5和tensorflow1.2.0”的IPython Kernel为例进行展示。

2.1 创建conda env

打开Notebook的terminal,执行下述命令。其中,my-env是虚拟环境名称,用户可自定义。详细参数可参考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

2.2 进入conda env

source /home/ma-user/anaconda3/bin/activate /home/ma-user/anaconda3/envs/my-env

2.3 安装依赖包

在my-env虚拟环境安装jupyter【必选】和tensorflow 1.2.0

pip install jupyter pip install tensorflow==1.2.0

2.4 添加虚拟环境为IPython Kernel

执行下述命令,其中--name值可自定义。

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

2.5 自定义虚拟环境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" } }

2.6 进入虚拟环境的IPython Kernel

刷新当前页面,在JupyterLab的Launcher界面可以看到自定义的虚拟环境Kernel。如下所示:

点击my-py3-tensorflow-env图标,验证是否为当前环境,如下所示:

2.7 清理环境

在Notebook的terminal里执行下述命令:

Notebook中添加Virtualenv作为IPython Kernel

2.7.1 删除虚拟环境的IPython Kernel

jupyter kernelspec uninstall my-py3-tensorflow-env

2.7.2 删除虚拟环境

conda env remove -n my-env

Anaconda IPython Jupyter notebook kernel

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:10 个令人深恶痛绝的 Java 异常
下一篇:优化 MySQL: 3 个简单的小调整
相关文章