搭建Jupyter服务器
1.配置好Python环境及安装pip
2.安装jupyter:
pip3 install jupyter
(此处使用的是python3)
3.生成配置文件
jupyter notebook --generate-config
4.生成密钥:
终端输入$ ipython
1 | In [1]: from notebook.auth import passwd |
5.修改配置文件vim ~/.jupyter/jupyter_notebook_config.py
1 | c=get_config() |
拓展:云服务器搭建神器JupyterLab(转)
JupyterLab
是一个交互式的开发环境,其用于应对包含着notebook
、代码以及数据的工作场景。
1、前言
如果说vim是编辑器之神,那么JupyterLab就是笔记本之神。
从2017年开始我注意到这一神奇的IDE笔记本,第一眼见到它,就觉得它真的太强大了,作为一个交互式的Python开发工具,其实也不算开发工具,准确的来说,它是一个演示代码的科学数据工具,支持markdown预览,支持Draw扩展,支持丰富的文件格式和多种开发语言,拥有众多插件诸于GitHub, Google-Dirve, Git和TOC,更重要的是,它是把浏览器当作开发工具,十分有创意。JupyterLab的开发者众多,GitHub上面的isuue也十分活跃,众多的大牛开发者也纷纷加入到JupyterLab的阵营,为JupyterLab的发展作贡献,JupyterLab得到迅速发展。
好的工具当然是要好好利用了,回归正题,怎样通过云服务器搭建一个可远程使用的JupyterLab?
2、添加ppa源
1 | root@iZwz9huxtbd86xp91s3j16Z:~# sudo add-apt-repository ppa:chronitis/jupyter |
3、配置python
1 | sudo apt-get install python-pip python-dev build-essential |
如果没有换源,先进行换源,下载速度会快很多
- 阿里云 http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 豆瓣(douban) http://pypi.douban.com/simple/
- 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
- 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
1 | cat > ~/.pip/pip.conf |
npm
和yarn
也可以换源,更简单,自行google
。
pip
国内的一些镜像包,换源之后出现python2
版本过低的情况导致以前的包下载不了,那就直接将文件夹~/.pip/pip.conf
删除就可以恢复原来的源。
pip指向问题
有时候会出现pip,pip2,pip3都TM指向python2,这个之后就需要改一下这这三个文件。
编辑这三个文件,将第一行注释分别改为python\python2\python3
1 | ~ $which pip |
安装yarn
和nodejs
配置仓库
1 | curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - |
安装yarn
1 | sudo apt-get update |
注意这里yarn
自动安装了nodejs
,不过版本太低,安装jupyterlab
的时候会出问题,而且使用n
或者nvm
安装的nodejs
也有问题,总之nodejs
要按照下面这种方式就没事,这个是官方的bug
,官方issue
也提到过,但是目前还未解决。
如果版本过低,安装插件、或是jupyter lab build
发生NameError: name 'CoreConfig' is not defined
错误,则可能是nodejs版本过低导致.我出现这个Bug后找了提了issue也没解决,后来突然想起了这边提到的nodejs版本问题,于是更新后解决…nodejs更新方式见附录
安装nodejs
创建一个新文件,输入两行deb
,结束之后Ctrl+C
:
1 | cat > /etc/apt/sources.list.d/nodesource.list |
导入公匙并安装nodejs
,这个版本的nodejs
对jupyterlab
支持比较友好。
1 | curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add - |
创建哈希密码
1 | from notebook.auth import passwd |
修改JupyterLab
配置文件
先生成一个配置文件,记下输出的配置文件地址
jupyter lab --generate-config
->
1 | c.NotebookApp.allow_root = True #允许以root方式运行jupyterlab |
到此,JupyterLab
已经安装成功了。
1 | jupyter-lab --version |
jupyter lab build
时间有点久,如果没报错就成功了
4、运行JupyterLab
1 | jupyter lab & |
JupyterLab运行虚拟环境
- 在jupyter lab中使用虚拟环境
进入虚拟环境后输入以下代码,则在jupyter中创建出虚拟环境(env_name)下的kernel
1 | pip install ipykernel |
- 删除创建的kernel
CMD窗口下打开jupyter lab后若要关闭,Ctrl+C;也可在jupyter lab中打开终端输入命令,但此时输入退出/打开虚拟环境命令(deactivate/workon等)是无效的,即始终处在虚拟环境中
1 | jupyter kernelspec list #查看所有kernel |
JupyterLab
扩展安装
1 | jupyter labextension list # 查看已经安装的扩展及其状态: |
还有功能
- 支持做图
markdown
- 多标签
- 内部打开网页
latex
快捷键
编辑模式命令
- 执行当前cell,执行后不自动调转到下一个cell:Ctrl-Enter
- 使当前的cell进入编辑模式:Enter
- 退出当前cell的编辑模式:Esc
命令模式:
- 删除当前的cell:双D
- 为当前的cell加入line number:单L
- 将当前的cell转化为具有一级标题的maskdown:单1
- 将当前的cell转化为具有二级标题的maskdown:单2
- 将当前的cell转化为具有三级标题的maskdown:单3
- 撤销对某个cell的删除:z
- 浏览器的各个Tab之间切换:Up和Dn
附录
jupyter notebook设置一个执行单元多个输出
1 | from IPython.core.interactiveshell import InteractiveShell |
nodejs更新
1 | 查看更新前的版本 |
安装内核
安装Python内核
如果需要python2和python3同时存在的话
1 |
|
安装ijavascript
1 | sudo add-apt-repository ppa:chronitis/jupyter |
插件安装
jupyterlab-toc(目录功能)
Installation
1 | jupyter labextension install @jupyterlab/toc |
Jupyterlab-Tensorboard
Installation
1 | $ jupyter labextension install jupyterlab_tensorboard |
](http://image.rexking6.top/img/clip1545289922.png)
JupyterLab drawio(processon图)
Installation
1 | jupyter labextension install jupyterlab-drawio |
注,图片来自RexKing6’s Note
variableinspector
像matlab一样查看工作区变量
jupyter labextension install @lckr/jupyterlab_variableinspector
go_to_definition插件
在lab中按alt+ 点击变量名 or 函数名,可以跳转到其对应的最初定义的地方(注意看闪烁光标的位置变化)。
快捷键
Up : 选中上方单元
K : 选中上方单元
Down : 选中下方单元
J : 选中下方单元
Shift-K : 扩大选中上方单元
Shift-J : 扩大选中下方单元
A : 在上方插入新单元
B : 在下方插入新单元
X : 剪切选中的单元
C : 复制选中的单元
Shift-V : 粘贴到上方单元
V : 粘贴到下方单元
Z : 恢复删除的最后一个单元
D,D : 删除选中的单元
Shift-M : 合并选中的单元
I,I : 中断Notebook内核0,0
0,0 :重启Notebook内核
Tab : 代码补全或缩进
Shift-Tab : 提示
Ctrl-] : 缩进
Ctrl-[ : 解除缩进
Ctrl-A : 全选
Ctrl-Z : 复原
Ctrl-Shift-Z : 再做
Ctrl-Y : 再做
Ctrl-Home : 跳到单元开头
Ctrl-Up : 跳到单元开头
Ctrl-End : 跳到单元末尾
Ctrl-Down : 跳到单元末尾
Ctrl-Left : 跳到左边一个字首
Ctrl-Right : 跳到右边一个字首
Ctrl-Backspace : 删除前面一个字
Ctrl-Delete : 删除后面一个字
Esc : 进入命令模式
Ctrl-M : 进入命令模式
Shift-Enter : 运行本单元,选中下一单元
Ctrl-Enter : 运行本单元
Alt-Enter : 运行本单元,在下面插入一单元
Ctrl-Shift-- : 分割单元
Ctrl-Shift-Subtract : 分割单元
Ctrl-S : 文件存盘
Shift : 忽略
Up : 光标上移或转入上一单元
Down :光标下移或转入下一单元
Author: Mrli
Link: https://nymrli.top/2019/09/21/搭建Jupyter服务器/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.