利用docker安装Jupyter交互式编程和笔记工具

2020-04-26 11:40:14 13点赞 109收藏 9评论

Python作为一种编程语言近年来风生水起,与人工智能、网络爬虫、大数据分析等新兴概念和产业的火爆不无关系。Python相比其他编程语言,确实相对容易入门和上手,因此越来越的人尝试掌握这门语言 ,以期能够对自己的学习或者工作提供便利。笔者作为互联网重度使用者,自然也被这股Python学习风潮“感染”,利用闲暇时间尝试学习这门语言。

作为初学者,众多的网络上和书籍中教程会比较并推荐多种Python的IDE编译开发环境,例如Pycharm或VS Code等等。其实无论哪个IDE环境,只要仔细摸索并根据自己的习惯进行部署,都会非常好用。最终,我自己在学习过程中选取了Jupyter这款基于网页的IDE来进行Python的学习,Jupyter有如下的特点吸引我:

  1. 基于网页的操作和编辑界面,因此可以作为一个网络服务部署在服务器上。这样的好处是可以在不同类型的终端都能够通过网页进行程序编辑和编译。对于没有固定时间或者专门的电脑来学习编程的初学者来说,可以更加方便的利用碎片时间进行学习。我们利用出差旅途,或者上下班的闲暇,使用笔记本电脑、甚至手机就可以进行编程。

  2. 采用笔记本式的交互方式,如果大家使用过mathematica科学计算软件的话,对Jupyter的交货界面一定不会陌生。它也同时

    支持markdown,还支持pdf和幻灯片输出,这对于学习编程的学生和教课的老师来说可以很容易地总结编程案例,制作编程作业或者相关课程的课件。

这里,我向大家介绍如何利用群晖NAS的Docker应用来安装Jupyter服务,分享给希望尝试学习Python编程的读者。

首先,我们还是在群晖的Docker应用中的“注册表”标签里搜索jupyter,在结果中我们下载第一个镜像作为例子:

下载第一个镜像“jupyter/datascience notebook”下载第一个镜像“jupyter/datascience notebook”

大家其实可以看到Jupyter的镜像很多的版本,各个版本的区别主要是根据不同的应用场景集成了不同模块和依赖,具体关系如下:

各个版本镜像的关系各个版本镜像的关系

大家可以根据需要选择合适的镜像下载。

然后我们启动这个镜像来创建容器,创建容器的步骤这里不再赘述,主要在高级设置里面,建议大家做几个设置:

一个是在“卷”标签中,大家可以映射一个外部的文件夹以存放自己的编程笔记,例如:

利用docker安装Jupyter交互式编程和笔记工具

二是在“端口”标签中,我们将容器的端口8888映射出来,

利用docker安装Jupyter交互式编程和笔记工具

最后就是“环境”中,我们可以加上一个环境变量“JUPYTER_ENABLE_LAB=yes”这样我们就可以默认启动Jupyter lab,而不是Jupyter notebook。(建议大家选yes,Jupyter lab包含Jupyter notebook)

利用docker安装Jupyter交互式编程和笔记工具

部署好以后我们就可以通过网页登录Jupyter:

利用docker安装Jupyter交互式编程和笔记工具

这里我们发现如果要进入Jupyter的编译界面,需要知道token,而token可以通过在docker中这个容器的日志里面很容易地查到:

利用docker安装Jupyter交互式编程和笔记工具

在日志中我们找到如上两行日志记录,在“token=”后面的字符串就是我们需要的token,我们在登录页面填入token信息然后登录,就可以看到Jupyter的交互界面:

以上编程实例来自网络教程或相关模块帮助文档以上编程实例来自网络教程或相关模块帮助文档

以上编程实例来自网络教程或相关模块帮助文档以上编程实例来自网络教程或相关模块帮助文档

这样一个在网络服务器上的Jupyter就搭建好了。

正如文章开头所提到的,Jupyter相比而言可能是一个对初学者比较友好的IDE工具,随着我们对编程学习的深入,尤其是需要针对性的开发大型项目,可能就需要选用更适合的IDE环境。同时,Jupyter不仅仅支持Python,还支持R,Julia等编程语言,更有众多插件供用户使用,通过优化也能够实现非常强大的应用场景和功能。希望大家能够分享自己的使用经验,共同学习进步。

展开 收起
9评论

  • 精彩
  • 最新
  • 正好用得到 碎银奉上

    校验提示文案

    提交
    感谢支持! [耶]

    校验提示文案

    提交
    收起所有回复
  • 镜像图能标注下各个镜像增加了啥内容么?

    校验提示文案

    提交
    感谢评论,jupyter官网有对每个镜像包含内容的详细说明,请参考:
    去看看
    原文我就不改了哈

    校验提示文案

    提交
    收起所有回复
  • 想问一下这个建好了怎么异地访问呀,我用qc找不到入口, [喜极而泣]

    校验提示文案

    提交
  • 傻瓜式的vs code还需要配置吗?装上插件不就行了

    校验提示文案

    提交
  • 正在想起来弄这个,本来我是在exsi上开了一个ubuntu弄了一个notebook,结果不想心把虚拟机给删了。。现在想着弄到群晖上,正在找教程。已打赏,不过我的群晖上我没找到docker啊,难道是我的太老了?

    校验提示文案

    提交
  • 可以装插件吗

    校验提示文案

    提交
  • 请问楼主是否碰到过内核不能启动报错的情况,方便的化麻烦给个联系方式交流一下

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
109
扫一下,分享更方便,购买更轻松