本文最后更新于 159 天前,其中的信息可能已经有所发展或是发生改变。
JupyterLab是一个集Jupyter Notebook、文本编辑器、终端以及各种个性化组件于一体的全能IDE,是Jupyter Notebook的全面升级。使用Docker部署可以很方便地将JupyterLab部署到我们的服务器上,实现远程访问,可以随时随地愉快地写代码了。
1.部署
1.1 拉取镜像
docker pull jupyter/scipy-notebook
1.2 创建挂载目录
mkdir /home/tom/jupyter/book #目录改为自己的
chmod 777 /home/tom/jupyter/book #更改目录权限,这里为了省事直接把权限设置为了777
1.3 运行实例
docker run --name jupyter -d \
-p 8119:8888 \
-v /home/tom/jupyter/book:/home/jovyan \
jupyter/scipy-notebook
- 8119为对外暴露端口,可以自行修改,如果服务器装有防火墙,注意要放行端口;
/home/tom/jupyter/book修改为上一步创建的目录。
如果实例运行没有报错,就可以使用ip+端口号进行访问了。
1.4 使用密码访问
每次登录JupyterLab都需要使用token,非常麻烦,可以修改为密码登录。
docker exec -it jupyter jupyter notebook list #查询token
docker exec -it jupyter jupyter notebook password #修改密码
docker restart jupyter #重启容器
密码修改成功后就可以使用密码登录JupyterLab了。
2.常用插件
1.中文插件
pip install jupyterlab-language-pack-zh-CN
2.代码自动补全
pip install jupyterlab-lsp
pip install "python-lsp-server[all]"
在设置中打开代码补全



3. 一些问题
3.1 matplotlib中文显示问题
2.
连接到服务器,进入python环境,找到matplotlib安装路径
import matplotlib
matplotlib.matplotlib_fname() #我这里获得的路径为/opt/conda/lib/python3.11/site-packages/matplotlib/mpl-data/matplotlibrc
复制字体文件到matplotlib的ttf目录内
docker ps -a #查看容器ID
docker exec --user root -it 容器ID /bin/bash
docker cp 本地文件路径 容器ID:容器路径 #容器路径为上一步骤中获得的安装路径修改后得到/opt/conda/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf
清除字体缓存
import matplotlib
matplotlib.get_cachedir() #获得缓存路径/home/jovyan/.cache/matplotlib
rm -rf 缓存路径
重启容器
docker restart 容器ID
如果提示权限问题,请在代码前加上
sudo
3.在画图时添加代码,添加一次即可
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
