介绍JupyterLabJupyter主打的最新数据科学生产工具,某种意义上,它的出现是为了取代Jupyter Notebook。不过不用担心Jupyter Notebook会消失,JupyterLab包含了Jupyter Notebook所有功能。JupyterLab作为一种基于web的集成开发环境,你可以使用它编写notebook、操作终端、编辑markdown文本、打开交互模式、查看csv文件及图片等功能。

总之,JupyterLab有以下特点:

  • 交互模式:Python交互式模式可以直接输入代码,然后执行,并立刻得到结果,因此Python交互模式主要是为了调试Python代码用的
  • 内核支持的文档:使你可以在可以在Jupyter内核中运行的任何文本文件(Markdown,Python,R等)中启用代码
    模块化界面:可以在同一个窗口同时打开好几个notebook或文件(HTML, TXT, Markdown等等),都以标签的形式展示,更像是一个IDE
  • 镜像notebook输出:让你可以轻易地创建仪表板
  • 同一文档多视图:使你能够实时同步编辑文档并查看结果
  • 支持多种数据格式:你可以查看并处理多种数据格式,也能进行丰富的可视化输出或者Markdown形式输出
  • 云服务:使用Jupyter Lab连接Google Drive等服务,极大得提升生产力

服务器安装

  • 官网
  • Github

1.下载aconda镜像,版本根据自己所需 版本查看清华源,我用的是Anaconda3-2019.07-Linux-x86_64

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.07-Linux-x86_64.sh

2.安装,要回车接受一堆协议,再输入 yes ,后面都默认回车就行

bash Anaconda3-2019.07-Linux-x86_64.sh

3.安装成功之后,重新连接服务器就进入了一个大的虚拟环境,环境自动适配了python相应搭载版本,可以看到安装前后的区别,多了个base

安装成功前
安装成功后

这里插播一条广告,这个命令有时会用到

进入 conda base 环境

conda activate base

退出 conda base 环境

conda deactivate



4.安装ipy内核

python3 -m pip install ipykernel
python3 -m ipykernel install --user

5.安装jupyterlab

pip install jupyter jupyterlab

6.安装ipython

pip install ipython

7.打开ipython

ipython

7.创建管理员密码,设一个密码

from notebook.auth import passwd
passwd()

8.执行回车会得到相应的哈希密码链,复制保存,后续使用

sha1:ecf335df781b:d968f9d53b96ee4c81a3d16c34c267dfed90b9bf

9.重新打开一个终端窗口生成配置文件

jupyter notebook --generate-config

这个就是配置文件路径

10.编辑配置文件,方法有多种,可以用命令行,可以用宝塔,可以用终端的文件管理

补充一下命令行修改的方法,很多网友不会在LINUX下编辑文件。vim是在LINUX下编辑文件的命令,相当于LINUX下的记事本程序。然后点击i进入编辑模式,就可以编辑文件了。编辑好后先按一下 esc 再输入:wq+回车是保存退出,:wq!+回车是强制保存退出,:q!+回车是不保存退出。

vim /root/.jupyter/jupyter_notebook_config.py

配置文件是这样子的

11.在配置文件中找到这几项修改,两种方式 1是去掉前面的“*”号,修改相应的配置,2是直接在nextbookapp添加一下,c.NotebookApp.password是你第8步得到的,c.NotebookApp.port是你可以访问的端口,你可以修改,不要与其他端口冲突:

c.NotebookApp.ip='*'
c.NotebookApp.password =u'sha1:ecf335df781b:d968f9d53b96ee4c81a3d16c34c267dfed90b9bf'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888

这个呢是你的文件路径,不设置就是你的root文件夹,你必须设置一下,而且必须是已经存在的文件夹,它不会生成的,我赶时间我就不修改了

强制保存并退出,vim用法第10步有说

12.启动jupyterlab

nohup jupyter lab --allow-root &

13.浏览器访问,这里的端口可在第11步设置,可以设置为其他端口,要放通你的端口

 服务器ip:8888

输入你第7步设置的密码

环境配置

1.虚拟环境中安装了python3,jupyter中识别了python3,但是centos7之类的系统服务器本身自带python2

jupyterlab中显示两者

ipython kernel install --name python2
ipython kernel install --name python3

2.安装bash内核

pip install bash_kernel
python3 -m bash_kernel.install

3.安装TensorFlow

base环境下安装关联插件

conda install ipykernel

创建虚拟环境

conda create -n Tensorflow2.0 python=3.6
//可修改相应环境名称和相应python版本,例如 conda create -n Tensorflow1.4 python=2.7

激活环境,他会给你激活命令的,复制就行

进入了虚拟环境

安装TensorFlow运行框架:版本根据需求安装

pip install tensorflow==2.0.0

在虚拟环境下创建kernel文件

conda install -n Tensorflow2.0 ipykernel

环境关联(显示的名字自己调整)

python -m ipykernel install --user --name Tensorflow2.0 --display-name "P3-Tensorflow2.0"
  • Tensorflow2.0 :是你创建的环境名
  • P3-Tensorflow2.0 :是你的jupyterlab显示的名字

双击选中刚在创建的虚拟环境,查看是否安装成功

import tensorflow as tf

tf.__version__
tf.__path__

可以解除关联,但是没必要,给命令,怕你想重新取名有用

jupyter-kernelspec remove Tensorflow2.0

删除虚拟环境命令

conda info --env//查看所有虚拟环境
conda remove -n name --all
jupyter kernelspec list//查看 Jupyter notebook kernel
jupyter kernelspec remove kernelname//删除  jupyter 内核

切换背景主题

Jupyter Lab支持两种背景主题,白色和黑色。步骤:settings->jupyterlab theme

扩展推荐

kite

  • 插件地址
    jupyter lab最强代码提示插件 提起kite相信不少朋友都有印象,它是一个功能非常强大的代码补全工具,目前可用于Pythonjavascript,为许多知名的编辑器譬如Vs Code、Pycharm提供对应的插件。而最近kite开源了针对jupyter lab的代码补全插件,使得我们在代码提示补全功能较弱的jupyter lab平台上也可以体验到强大的kite功能。目前不支持服务器环境.

1. github

  • 插件地址
    安装这个插件后,JupyterLab左侧会出现一个github栏按钮,你可以在里面搜索github项目,并且打开项目里面的文件,如果是notebook文件,能够直接运行代码。这个插件非常适合在Lab上学习github项目,方便高效。

2.toc

  • 插件地址
    这是一个Lab的目录插件,安装后就能很方便地在Lab上展示notebook或者markdown的目录。目录可以滚动,并且能展示或隐藏子目录。

3.LaTeX

  • 插件地址
    支持在线编辑并预览LaTeX文档。

4.HTML

  • 插件地址
    该插件允许你在Jupyter Lab内部呈现HTML文件,这在打开例如d3可视化效果时非常有用。

5.plotly

  • 插件地址
    该插件可以在Lab中展示plotly可视化效果。

6.bokeh

  • 插件地址
    该插件可以在Lab中展示bokeh可视化效果。

7.matplotlib

  • 插件地址
    该插件可以在Lab中启用matplotlib可视化交互功能。

8.drawio

  • 插件地址
    该插件可以在Lab中启用drawio绘图工具,drawio是一款非常棒的流程图工具。

9.sql

  • 插件地址
    该插件可以在Lab中连接数据库,并进行sql查询和修改操作。

10.variableinspector

  • 插件地址
    该插件可以在Lab中展示代码中的变量及其属性,类似RStudio中的变量检查器。你可以一边撸代码,一边看有哪些变量。

11.dash

  • 插件地址
    该插件可以在Lab中展示plotly dash交互式面板。

12.gather

  • 插件地址
    Lab中清理代码,恢复丢失的代码以及比较代码版本的工具。

13.go to Definition

  • 插件地址
    该插件用于在Lab笔记本和文件编辑器中跳转到变量或函数的定义。

14. lsp

  • 插件地址
    该插件用于自动补全、参数建议、函数文档查询、跳转定义等。

15.spreadsheety

  • 插件地址
    该插件用于在Lab上显示excel表格,只读模式。

[1]: https://jupyter.org/ [2]: https://github.com/jupyterlab/jupyterlab [3]: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ [4]: https://jscdn.cachefly.net/web/wxiou/20200702092814.png [5]: https://jscdn.cachefly.net/web/wxiou/20200702093429.png [6]: https://jscdn.cachefly.net/web/wxiou/20200702094127.png [7]: https://jscdn.cachefly.net/web/wxiou/20200702093212.png [8]: https://jscdn.cachefly.net/web/wxiou/20200702094220.png [9]: https://jscdn.cachefly.net/web/wxiou/20200702094630.png [10]: https://jscdn.cachefly.net/web/wxiou/20200702094710.png [11]: https://jscdn.cachefly.net/web/wxiou/20200702094742.png [12]: https://jscdn.cachefly.net/web/wxiou/20200702094839.png [13]: https://jscdn.cachefly.net/web/wxiou/20200702094931.png [14]: https://jscdn.cachefly.net/web/wxiou/20200702095008.png [15]: https://jscdn.cachefly.net/web/wxiou/20200702095500.png [16]: https://jscdn.cachefly.net/web/wxiou/20200702095655.png [17]: https://jscdn.cachefly.net/web/wxiou/20200702095814.png [18]: https://jscdn.cachefly.net/web/wxiou/20200702100502.png [19]: https://jscdn.cachefly.net/web/wxiou/20200702100734.png [20]: https://jscdn.cachefly.net/web/wxiou/20200702100756.png [21]: https://jscdn.cachefly.net/web/wxiou/20200702100609.png [22]: https://jscdn.cachefly.net/web/wxiou/20200702100819.png [23]: https://jscdn.cachefly.net/web/wxiou/20200702101338.png [24]: https://jscdn.cachefly.net/web/wxiou/20200702101508.png [25]: https://jscdn.cachefly.net/web/wxiou/20200702102132.png [26]: https://jscdn.cachefly.net/web/wxiou/20200702102505.png [27]: https://jscdn.cachefly.net/web/wxiou/20200702102612.png [28]: https://jscdn.cachefly.net/web/wxiou/20200702102829.png [29]: https://jscdn.cachefly.net/web/wxiou/20200702102856.png [30]: https://jscdn.cachefly.net/web/wxiou/20200702103811.png [31]: https://jscdn.cachefly.net/web/wxiou/20200702104400.png [32]: https://jscdn.cachefly.net/web/wxiou/20200702104505.png [33]: https://jscdn.cachefly.net/web/wxiou/20200702104641.png [34]: https://jscdn.cachefly.net/web/wxiou/20200702105027.png [35]: https://jscdn.cachefly.net/web/wxiou/20200702105117.png [36]: https://jscdn.cachefly.net/web/wxiou/20200702105525.png [37]: https://jscdn.cachefly.net/web/wxiou/20200702105735.png [38]: https://jscdn.cachefly.net/web/wxiou/20200702110354.png [39]: https://kite.com/ [40]: https://jscdn.cachefly.net/web/wxiou/20200702113410.png [41]: https://jscdn.cachefly.net/web/wxiou/20200702113414.png [42]: https://github.com/jupyterlab/jupyterlab-github [43]: https://jscdn.cachefly.net/web/wxiou/20200702110244.png [44]: https://github.com/jupyterlab/jupyterlab-toc [45]: https://jscdn.cachefly.net/web/wxiou/20200702110451.png [46]: https://github.com/jupyterlab/jupyterlab-latex [47]: https://jscdn.cachefly.net/web/wxiou/20200702110616.png [48]: https://github.com/mflevine/jupyterlab_html [49]: https://jscdn.cachefly.net/web/wxiou/20200702110710.png [50]: https://github.com/jupyterlab/jupyter-renderers [51]: https://jscdn.cachefly.net/web/wxiou/20200702110825.png [52]: https://github.com/bokeh/jupyter_bokeh [53]: https://jscdn.cachefly.net/web/wxiou/20200702111112.png [54]: https://github.com/matplotlib/ipympl [55]: https://jscdn.cachefly.net/web/wxiou/20200702111201.png [56]: https://github.com/QuantStack/jupyterlab-drawio [57]: https://jscdn.cachefly.net/web/wxiou/20200702111249.png [58]: https://github.com/pbugnion/jupyterlab-sql [59]: https://jscdn.cachefly.net/web/wxiou/20200702111416.png [60]: https://github.com/lckr/jupyterlab-variableInspector [61]: https://jscdn.cachefly.net/web/wxiou/20200702111502.png [62]: https://awesomeopensource.com/project/plotly/jupyterlab-dash [63]: https://jscdn.cachefly.net/web/wxiou/20200702111604.png [64]: https://github.com/microsoft/gather [65]: https://jscdn.cachefly.net/web/wxiou/20200702111700.png [66]: https://github.com/krassowski/jupyterlab-go-to-definition [67]: https://jscdn.cachefly.net/web/wxiou/20200702111748.png [68]: https://github.com/krassowski/jupyterlab-lsp [69]: https://jscdn.cachefly.net/web/wxiou/20200702111910.png [70]: https://jscdn.cachefly.net/web/wxiou/20200702111918.png [71]: https://jscdn.cachefly.net/web/wxiou/20200702111923.png [72]: https://jscdn.cachefly.net/web/wxiou/20200702111930.png [73]: https://jscdn.cachefly.net/web/wxiou/20200702111935.png [74]: https://jscdn.cachefly.net/web/wxiou/20200702111942.png [75]: https://jscdn.cachefly.net/web/wxiou/20200702111951.png [76]: https://jscdn.cachefly.net/web/wxiou/20200702111959.png [77]: https://github.com/quigleyj97/jupyterlab-spreadsheet [78]: https://jscdn.cachefly.net/web/wxiou/20200702112159.png
最后修改:2020 年 07 月 24 日
如果觉得我的文章对你有用,请随意赞赏