187 lines
7.4 KiB
Markdown
187 lines
7.4 KiB
Markdown
# 1.原创:Debian快速手动安装JupyterLab并配置Https
|
||
|
||
很久之前我写过一篇关于`Jupyer lab`得超详细安装教程,[`传送门`](https://www.creat.kim/archives/25/),感觉复杂了点,特别是`nginx`,我这块也没写清楚,所以不少人出现了无法运行`python`的情况,按照教程一步步来是绝对不会出问题的。有时候,虽然你能够用`https`访问,但是不代表就能运行,因为这里`jupyter lab`是基于`websocket`通信的,不是`http`。这里就再简化一下,用`Debian`系统安装一下`Jupyter Lab`,并使用`caddy`配置`https`访问,亲测可以运行程序。本教程只包括`Pytho2`内核,要同时安装`Python3`见[`传送门`](https://www.creat.kim/archives/25/),这里简单写下步骤,快速上手,避免花费过多时间,一次成功,速度还蛮快的. demo: [https://jupyter.creat.kim](https://jupyter.creat.kim)<br/>
|
||
<img alt="" src="http://image.creat.kim/picgo/20190326142651.png"/><br/>
|
||
<img alt="" src="http://image.creat.kim/picgo/20190326151655.png"/>
|
||
|
||
```
|
||
sudo apt-get install software-properties-common
|
||
|
||
```
|
||
|
||
## 安装`Python`环境
|
||
|
||
```
|
||
sudo apt-get install python-pip python-dev build-essential
|
||
sudo pip install --upgrade pip
|
||
sudo pip install --upgrade virtualenv
|
||
sudo apt-get install python-setuptools python-dev build-essential
|
||
sudo easy_install pip
|
||
sudo pip install --upgrade virtualenv
|
||
sudo apt-get install python3-pip
|
||
sudo apt-get install python-pip
|
||
sudo pip3 install --upgrade pip
|
||
sudo pip2 install --upgrade pip
|
||
sudo pip install --upgrade pip
|
||
|
||
```
|
||
|
||
## 查看`pip`指向
|
||
|
||
```
|
||
~ $which pip
|
||
/usr/local/bin/pip
|
||
21:36 alien@alien-Inspiron-3443:
|
||
~ $which pip2
|
||
/usr/local/bin/pip2
|
||
21:36 alien@alien-Inspiron-3443:
|
||
~ $which pip3
|
||
/usr/local/bin/pip3
|
||
|
||
```
|
||
|
||
## 安装`yarn`
|
||
|
||
```
|
||
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
||
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||
sudo apt-get update
|
||
sudo apt-get install yarn
|
||
|
||
```
|
||
|
||
## 安装`nodejs`
|
||
|
||
```
|
||
curl -sL https://deb.nodesource.com/setup_10.x | bash -
|
||
apt-get install -y nodejs
|
||
|
||
```
|
||
|
||
## 安装`jupyterlab`
|
||
|
||
```
|
||
sudo pip2 install jupyterlab
|
||
|
||
```
|
||
|
||
## 配置`jupyerlab`
|
||
|
||
```
|
||
jupyter-notebook password
|
||
|
||
```
|
||
|
||
进入`ipython`设置哈希密码,这里输入的是你登陆`jupyter lab`的密码,记下生成的哈希密码.
|
||
|
||
```
|
||
ipython
|
||
from notebook.auth import passwd
|
||
passwd()
|
||
# 输入你自己设置登录JupyterLab界面的密码,
|
||
# 然后就会生产下面这样的密码,将它记下来,待会儿用
|
||
'sha1:b92f3fb7d848:a5d40ab2e26aa3b296ae1faa17aa34d3df351704'
|
||
|
||
```
|
||
|
||
## 编辑配置文件
|
||
|
||
一般在`/root/.jupyter/jupyter_notebook_config.py`中,找到并修改以下配置项。
|
||
|
||
```
|
||
c.NotebookApp.allow_root = True
|
||
c.NotebookApp.ip = '0.0.0.0'
|
||
c.NotebookApp.notebook_dir = u'/root/JupyterLab'
|
||
c.NotebookApp.open_browser = False
|
||
c.NotebookApp.password = u'sha1:b92f3fb7d848:a5d40ab2e26aa3b296ae1faa17aa34d3df351704'
|
||
c.NotebookApp.port = 8888
|
||
|
||
# 解释以上各项
|
||
允许以root方式运行jupyterlab
|
||
允许任意ip段访问
|
||
设置jupyterlab页面的根目录
|
||
默认运行时不启动浏览器,因为服务器默认只有终端嘛
|
||
设置之前生产的哈希密码
|
||
设置访问端口,与下面的caddy需一致
|
||
|
||
```
|
||
|
||
## 运行`Jupyter Lab`
|
||
|
||
```
|
||
jupyter-lab --version
|
||
jupyter lab build
|
||
|
||
mkdir ~/JupyterLab
|
||
cd ~/JupyterLab
|
||
|
||
# 方便后台运行
|
||
apt install screen
|
||
screen -S jupterlab
|
||
jupyter lab
|
||
|
||
```
|
||
|
||
`ctrl+A+D`退出这个窗口。
|
||
|
||
## `caddy`开启`https`反代
|
||
|
||
域名改成你自己的,`caddy`详细使用见:[`【传送门】`](https://www.creat.kim/archives/18/)
|
||
|
||
```
|
||
wget -N --no-check-certificate https://raw.githubusercontent.com/ds19991999/shell.sh/shell/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
|
||
|
||
echo "jupyter.creat.kim
|
||
gzip
|
||
tls cva.engineer.ding@gmail.com
|
||
proxy / 127.0.0.1:8888 {
|
||
transparent
|
||
websocket
|
||
}" > /usr/local/caddy/Caddyfile
|
||
|
||
```
|
||
|
||
## 定时备份到`GitHub`
|
||
|
||
见大佬写的比较详细的文章:[`【传送门】`](https://www.moerats.com/archives/858/)
|
||
|
||
## 配置`python2`和`python3`内核
|
||
|
||
好人做到底吧,这里肯定很多人踩坑。。。用`pip`安装包的时候千万不要用`pip3 install ***`或者`pip2 install ***`呀.
|
||
|
||
```
|
||
python2 -m pip install ipykernel ipython matplotlib scipy pandas numpy
|
||
python3 -m pip install ipykernel ipython matplotlib scipy pandas numpy
|
||
|
||
```
|
||
|
||
检查一下内核
|
||
|
||
```
|
||
root@google:~/JupyterLab# jupyter kernelspec list
|
||
Available kernels:
|
||
python2 /usr/local/share/jupyter/kernels/python2
|
||
python3 /usr/local/share/jupyter/kernels/python3
|
||
|
||
```
|
||
|
||
好了,访问域名,开始使用吧。
|
||
|
||
---
|
||
|
||
|
||
## 最后一点思悟
|
||
|
||
大概这是我发在`CSDN`最后的博文了,本文来自 [https://www.creat.kim/archives/40/](https://www.creat.kim/archives/40/) ,不错,终于抛弃公共博客平台了。我在`CSDN`写了差不多一年半左右的博文吧,共`107`篇,其中`97`篇原(chao)创(xi),`7`篇转载,`2`篇私密,`1`篇因违反相关政策被管理员设为私密 … 博客`CSDN`排名`10k+`,访问量`225k+`,粉丝数`48`,表现平平,博文水平一般,算是代表了大部分人吧。
|
||
|
||
国内的博客平台其实都不错,`CSDN` 的写作体验也非常好,我曾经也一度在自己的博客平台或者公共博客平台之间徘徊,慢慢的最初写博客的意义就变味了,不过经历过这个过程,大概就明白了一些事吧。
|
||
|
||
在尝试`WordPress` 、`知乎` 、`简书`、`博客园`、`新浪`、`GitHub-Jekyll` 、`coding-jekyll`、`hexo` 、`Typecho`…之后,了解了一些网站运行常识,最起码知道国内的都是需要备案的 …<br/>
|
||
在图床方面,从最初的直接复制粘贴到`GitHub`+`PicGo`、`又拍云` (需要备案)、`七牛云`(需要备案)、自建图床…明白了一些`CDN`加速技巧 …<br/>
|
||
在文档方面,从最初的直接编辑,到`CSDN`的`MarkDown`编辑器、`有道云笔记`、`Evernote`(分国外国内版本)、`GitHub-README`、`GitBook`、`MkDoc`、`Read the Docs`、`Sphinx`、`Docsify`,明白了孰能生巧,熟练的话,什么文本都能写的漂亮,虽然我至今不会`Vim` …<br/>
|
||
在服务器选择上面,国内和国外的差异,也了解了不少,也越来越深恶痛绝 `install` 一个包或者一个`程序`的时候,你就那么几`k`几`b`的跑,国内源再怎么换,也比不上国外源的速度,有些网站虽然没有被`q`,你本地那速度受的了吗,现在也服气当初我是怎么忍受那龟一般的网速。看到过,了解过,才能从另一个角度看待问题,总比一直看被经过过滤的信息强吧。
|
||
|
||
再看看国外的教育福利,有人说是国外被中国人撸羊毛撸怕了,所以就不给中国提供教育福利。但是你看看国内大厂的教育福利,那服务器多便宜,我自己都眼馋,赶紧去每个厂注册一个号。要求实名,好,我实名,我传照片;要求备案,啥,还备案,好,我备案,我传照片,又是一个星期;这咋还有监测呢,忍不了了 … 这像不像裸贷,你只要用身份证实名,把自己的靓照交给他,他就给你提供廉价的服务器,这里说的有点过了,哈哈哈。前不久谷歌也要求中国IP注册地需要传照片了,唯独中国。国外在教育方面的投资我们真的要好好学习学习 …
|
||
|
||
之前的`12306事件`、`蓝灯事件`、`某某数据库泄露`,真真假假假亦真。身在国内,就不得不用隐私换取便利。
|