Jupyter配置安装
一、前言
JupyterLab是集合了Jupyter notebook所有功能的在线IDE工具,并且JupyterLab可以通过web随时随地的访问。本次使用的机器是阿里云centos7,JupyterLab版本3.6.3。由于我个人的服务器部署的应用比较多,为了环境隔离(偷懒省事),使用docker部署比较方便。
二、部署步骤
1、拉取镜像
去docker hub搜索关于jupyter的镜像,有很多,可以自行选择,安装方式基本都是一样的。我选择的是jupyter/scipy-notebook
。
sudo docker pull jupyter/scipy-notebook #把镜像pull下来
2、创建挂载目录
这个目录是jupyter的文件目录,在jupyter上面的开发项目都会在这个目录下保存。为了防止权限问题,修改为777。
sudo mkdir -p /opt/jupyter/booksudo chmod 777 /opt/jupyter/book
3、运行实例
JupyterLab的部署是比较简单的,直接用docker run就行了。具体部署细节,可以详细参考github。
sudo docker run --name my-jupyter -d \-p 8118:8888 \-v /opt/jupyter/book:/home/jovyan \jupyter/scipy-notebook
简单讲一下两个参数
-p 8118:8888
对外暴露的端口为8118,映射容器端口8888。根据自己需要,修改对外端口即可。-v /opt/jupyter/book:/home/jovyan
其中/opt/jupyter/book
就是第2步创建的挂载目录,而/home/jovyan
是写死的,这个不能变,改了会拉起失败(亲测)。
4、访问地址(需要token)
一般docker拉起成功的话,通过你的IP+端口号,就可以访问jupyter了,访问地址 http://yourIP:8118
5、查询token
到了第4步你会发现,登录jupyter需要填写token,而且每次登录访问都需要token,相当麻烦。因此需要进一步设置。
首先要找到token,有两种方式:
① docker输入命令行查询token
sudo docker exec -it my-jupyter jupyter notebook list
② 通过访问docker的log日志获取
这个方式需要root账号权限,先进入docker镜像的目录:
cd /var/lib/docker/containers
找到对应的镜像目录,目录名是一连串的很长的字符串,在目录下找到对应的.log文件。
在log日志中找到以下行:
实际上,我是用第二种方式找到token的,第一个方式我总是查不到token,原因暂时不明。如果有大佬懂的,可以在评论留言,万分感谢。
6、修改jupyter密码
修改密码用以下语句,修改完后重启jupyter。
sudo docker exec -it my-jupyter jupyter notebook passwordsudo docker restart my-jupyter
密码修改成功后,再通过网址访问jupyter,就不再需要token了。
三、关于JupyterLab的使用技巧
1、推荐浏览器用chrome
某些浏览器可能不显示运行按钮,如果遇到看不见顶部菜单栏和运行按钮等的情况,建议换一个浏览器访问。
2、常用的插件下载
用过jupyter notebook
的朋友应该知道,很多便利的插件可以通过nbextensions
找到,比如cell的底部显示运行时间,代码自动格式化等。但是jupyterlab
是没有nbextensions
。我们只能通过其他方式安装插件。
jupyterlab
安装插件,可以从左侧菜单栏的extension manager
,点击了enable
后可以找到各种插件,但一般都是要通过pip安装。
jupyterlab
可以通过新建一个terminal窗口,然后运行pip
命令安装python的包,来实现插件的安装。
这里推荐一些好用的插件,各位朋友可以自行斟酌下载安装。
jupyterlab-language-pack-zh-CN # 中文汉化包
jupyterlab-execute-time # cell底部显示代码运行时间
jupyterlab-code-formatter # 自动格式化代码
jupytext # ipynb\py\md文件互相转换
jupyterlab_spellchecker # markdown拼写核对
@krassowski/jupyterlab-lsp # 自动补全与跳转定义
@jupyterlab/github
@jupyterlab/git
如果下载缓慢或者下载失败,请使用国内镜像地址:
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
豆瓣:https://pypi.douban.com/simple
阿里云:https://mirrors.aliyun.com/pypi/simple
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple
pip install <package_name> -i https://pypi.tuna.tsinghua.edu.cn/simple
四、总结
JupyterLab基本涵盖了jupyter notebook的所有功能,使用上没有很大差别。JupyterLab优势更多,比如通过web访问(无需重复配置环境)、同时多开窗口、能够打开更多的文件格式,如csv/json/pdf/markdown等;但同样也有劣势,比如插件安装不如jupyter notebook方便,插件的功能还不够完善等,还有如果编写大型项目,web在线编辑还是逊色一筹。