Jupyter使用教程

Jupyter 已经被人们广泛使用来作为生产力工具,由于其能够步运行和可视化等,带来了良好的教学和交互体验。

1
pip install jupyterlab

命令行指定

1
2
3
4
5
6
7
8
jupyter lab 
--allow-root 																								# 允许root权限
--no-browser 																								# 启动不打开窗口
--ip '*'                                                    # 不指定IP
--port '8889'                                               # 指定开放端口
/home/oliver/CONTEST/kaggle_patent_phrase_matching2022      # 指定启动目录

--config='~/.jupyter/jupyter_notebook_config_special.py'    # 指定配置文件(以上配置都可以写入此)

设置登录密码

1
jupyter lab password

生成配置文件,运行后一般在~/.jupyter目录下会生成

1
jupyter lab --generate-config

jupyterlab配置文件设置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
c.ServerApp.allow_remote_access = True  # 允许远程登录
c.ServerApp.ip = '*'									  # 不指定ip
c.LabApp.open_browser = False           
c.ServerApp.allow_root = True
c.NotebookApp.notebook_dir = '/home/' # 启动目录,这个要用命令行指定才有效
"""
>>> from notebook.auth import passwd
>>> passwd()
Enter password: 
Verify password: 
'argon2:$argon2id$v=19$m=10240,t=10,p=8$jlFeqL9E3EPEFV2CyPETWQ$lzw9f8pTcjmXCW1uh0K0mzeQqZsGbHeaQSv4/6BJ0ys'
"""
c.NotebookApp.password = u'argon2:$argon2id......(换成你的秘钥)' #就是把生成的密码json文件里面的一串密码放这里

给它配一个服务

1
sudo vi /etc/systemd/system/jupyterlab.service

写入以下内容

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[Unit]
Description=contest jupyterlab service
After=network.target

[Service]
Type=simple
User=oliver
ExecStart=/home/oliver/.pyenv/versions/patent_phrase/bin/jupyter-lab --allow-root --no-browser --ip '*' --port '8889' --config='/home/oliver/.jupyter/jupyter_notebook_config_special.py'  /home/oliver 

Restart=on-failure
RestartPreventExitStatus=23

[Install]
WantedBy=multi-user.target

让这个服务开机启动

1
2
3
4
sudo systemctl daemon-reload
sudo systemctl enable jupyterlab
sudo systemctl start jupyterlab
sudo systemctl status jupyterlab

不难知道,直接在jupyter的开头写上这句有效。

1
2
3
4
5
import os
os.environ['HTTP_PROXY']="http://127.0.0.1:7890"
os.environ['HTTPS_PROXY']="http://127.0.0.1:7890"
import requests
requests.get("http://google.com")
1
<Response [200]>

ok,正常访问。

此方法设置完成后需要重新启动jupyter程序。

将这几行代码写入jupyter对应的配置文件。

1
vi ~/.jupyter/jupyter_lab_config.py 
1
2
3
import os
os.environ['HTTP_PROXY']="http://127.0.0.1:7890"
os.environ['HTTPS_PROXY']="http://127.0.0.1:7890"

来源

找了很多实现方法,以下方法有效。

因为jupyter是基于ipython模式的,所以在ipython的启动文件中创建如下文件,前缀越小代表优先级越高。

1
vi ~/.ipython/profile_default/startup/00-first.py

向其中写入

1
2
3
import os
os.environ['HTTP_PROXY']="http://127.0.0.1:7890"
os.environ['HTTPS_PROXY']="http://127.0.0.1:7890"

然后重新运行notebook,注意要把kernel关掉重开,否则不会执行此文件。

/jupyter/MD_img/image-20220523092134130.png

然后每次启动notebook之前就会运行这个文件。

1
jupyter nbconvert --to html notebook.ipynb

只展示markdown,适用于生成数据分析报告

1
jupyter nbconvert --to html --no-input data_analy_4.ipynb
1
jupyter nbconvert --to markdown notebook.ipynb
1
jupyter nbconvert --to pdf notebook.ipynb