介绍:JupyterLab
是Jupyter
主打的最新数据科学生产工具,某种意义上,它的出现是为了取代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
相信不少朋友都有印象,它是一个功能非常强大的代码补全工具,目前可用于Python
与javascript
,为许多知名的编辑器譬如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