文档首页/ AI开发平台ModelArts/ 常见问题/ Standard Notebook/ 环境配置相关/ 在Notebook中添加自定义IPython Kernel
更新时间:2024-10-28 GMT+08:00

在Notebook中添加自定义IPython Kernel

使用场景

当前Notebook默认内置的引擎环境不能满足用户诉求,用户可以新建一个conda env按需搭建自己的环境。本小节以搭建一个“python3.6.5和tensorflow1.2.0”的IPython Kernel为例进行展示。

操作步骤

  1. 创建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
  2. 执行如下命令进入conda env。
    source /home/ma-user/anaconda3/bin/activate /home/ma-user/anaconda3/envs/my-env
  3. 执行如下命令在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 
  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
  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"
     }
    }
  6. 进入虚拟环境的IPython Kernel。

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

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

  7. 清理环境。

    删除虚拟环境的IPython Kernel。

    jupyter kernelspec uninstall my-py3-tensorflow-env

    删除虚拟环境。

    conda env remove -n my-env