jupyter中导入python虚拟环境

#背景
python是一门开发语言,也是当下非常流行的一门语言。而jupyter是基于bs架构的是一个交互式笔记本。用于代码开发,目前主流用于python算法的开发。

jupyter中导入python虚拟环境

关于python的虚拟环境介绍请看我的另一篇文章虚拟环境详解。本文仅介绍在jupyter中如何导入已经存在的虚拟环境。

  • 激活需要导入的虚拟环境
source 虚拟环境根目录/bin/activate
  • 安装ipykernel
pip install ipykernel

离线安装ipykernel可以去pypi.org下载

  • 导入jupyter kernel
    在当前虚拟环境下,执行以下命令
python -m ipykernel install --user --name tensorflow --display-name "Python (tensorflow)"

name参数保证唯一,display-name 是kernel显示的名字,重启jupyter,看下如下效果。
image.png

原理介绍

其实导入的jupyter kernel根本性质是在/home/[用户名]/.local/share/jupyter/kernels/目录下新建了一个对应--name 参数的文件夹。
文件下的内容也很简单。如下图,最重要的就是kernel.json文件。看下json文件就知道kernel如何和python虚拟环境进行关联的。
image.png

  • kernel.json的内容
{
 "argv": [
  "/home/jovyan/FaceRecognition-tensorflow/1/FaceRecognition-tensorflow-master/venv/bin/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python (facerecognition-tensorflow)",
 "language": "python"
}

看下内容argv,直接指向了FaceRecognition-tensorflow-master/venv/bin/python。

  • 基于以上,有一个大胆的猜测,如果我在/home/[用户名]/.local/share/jupyter/kernels/直接新建一个test-evn文件夹,将kernel.json的内容指向另外一个python虚拟环境,重启jupyter同样也会在jupyter界面上看到新的kernel。如下图

image.png

# python   jupyter  

评论

公众号:mumuser

企鹅群:932154986

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×