🍿 配置Jupyter远程访问
【背景】
公司电脑没有GPU,平时使用Pycharm的SSH连接到GPU服务器,但在使用过程中会存在一些问题,包括:
- Pycharm有
浏览远程主机小工具,但经常会把不同项目的同步目录搞乱,有时也搞不清文件是否已经同步 - Pycharm的Notebook支持有代码补全、自动格式化等功能,但界面并没有很好用,比如必须切换英文输入才能使用
a或b新增块 - 代码修改后执行,需要对GPU服务器上传帮助文件,反应很慢
【解决方案】
- 配置远程GPU服务器的Jupyter Lab,在本地远程访问
- 终极解决方案:Jetbrains Gateway
| 优点 | 缺点 |
|---|---|
| 1. Jupyter Lab清洁、轻量化 2. 响应速度快 | 1. 没有自动格式化 2. 代码补全功能不够强大 |
【后续使用感受】
jupyter代码补全一言难尽,个人使用notebook的频率不高,但远程访问GPU服务器notebook的方法确实比之前方便。
目前使用Jetbrains家的Gateway,使用Rye管理环境,实践感觉实用性很强
壹丨安装配置Jupyter Lab1¶
这里用个人电脑的WSL模拟远程GPU服务器
首先,确保远程服务器安装了Anaconda或Miniconda
第一步,安装Jupyter Lab¶
conda install -c conda-forge jupyterlab -y
第二步,设置Jupyter Lab访问密码¶
命令行输入:
ipython
生成hash密码
>>> from jupyter_server.auth import passwd
>>> passwd()
# 根据提示输入密码,会得到类似下面的秘钥,将秘钥记录
输入exit()退出ipython环境
第三步,生成配置文件¶
jupyter-lab --generate-config
返回:
Writing default config to: /home/mastermao/.jupyter/jupyter_lab_config.py
第四步,修改配置文件¶
sudo nano ~/.jupyter/jupyter_lab_config.py
c.ServerApp.allow_remote_access = True
c.ServerApp.ip = '*'
# 启动时不自动打开浏览器
c.ServerApp.open_browser = False
c.LabServerApp.open_browser = False
c.ExtensionApp.open_browser = False
c.LabApp.open_browser = False
c.ServerApp.password_required = True
# 添加刚刚生成的密钥
c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$WPTImP4LkbLfUZEArh/lgQ$dqxJA33ztdvsFM4OcH0/hnVIcG87hwHMhhpetvOo67Y'
# 修改端口号(可选)
c.ServerApp.port = 8800
第五步,设置开机启动(可选)¶
添加jupyter.service到/etc/systemd/system/目录
sudo nano /etc/systemd/system/jupyter.service
[Unit]
Description=Jupyter Notebook
After=network.target
[Service]
Type=simple
ExecStart=/home/mastermao/anaconda3/bin/jupyter-lab --config=/home/mastermao/.jupyter/jupyter_lab_config.py --no-browser
User=user
Group=user
WorkingDirectory=/home/mastermao/
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
设置开机启动
sudo systemctl enable jupyter.service
sudo systemctl start jupyter.service
贰丨远程访问¶
第一步,SSH连接目标服务器¶
ssh [email protected] -p 22
第二步,启动Jupyter Lab¶
jupyter lab
第三步,浏览器访问¶
浏览器输入192.168.0.107:8800
输入密码即可进入
叁丨配置jupyter lab¶
1. 中文支持(可选)¶
pip install jupyterlab-language-pack-zh-CN -i https://pypi.tuna.tsinghua.edu.cn/simple
在Settings —— Language —— 选择中文
2. 代码自动补全(可选)2¶
pip install jupyterlab-lsp -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -U jedi-language-server -i https://pypi.tuna.tsinghua.edu.cn/simple
开启自动补全:
设置 —— 设置编辑器 —— 代码补全 —— 勾选启用自动补全
肆丨Pycharm配置远程jupyter lab¶
新建.ipynb文件 —— 配置Jupyter服务器 —— 配置的服务器 —— 输入目标Jupyter Lab的IP及端口,如:
http://192.168.0.108:8889
-
知乎,@Saito,Ubuntu22.04配置jupyter-lab并开启远程访问与开机自启动 ↩
-
博客园,@oneDonkey,Jupyter Lab安装,中文设置,自动补全与代码提示 ↩





