背景说明
在Ubuntu20服务器上,通过root用户安装了jupyter,那么可以使用jupyter notebook生成一个网页,大家都可以通过这个网页进行访问使用ipython进行编译运行代码。
但是不同由于不同使用者对编程环境有不同的要求,那么就希望每个人可以使用自己的kernel,使用自己的工作目录,而且不同使用者之间无法使用其他人的kernel。
添加虚拟环境
- 每个用户自己安装anaconda,然后再conda中创建虚拟环境。例如:
conda create -n test1 python=3.7
- 进入虚拟环境,安装ipykernel,创建kernel
conda activate test1 conda install -c anaconda ipykernel ipython kernel install --user --name=test1
- 查看jupyter kernel列表,会发现多出来一个kernel
jupyter kernelspec list
配置config文件
- 配置jupyter config文件
# 生成config文件 jupyter notebook --generate-config # 修改config文件 该文件一般在/home/用户名/.jupyter下 vim jupyter_notebook_config.py
# 加入如下几项 c.NotebookApp.allow_root = True c.NotebookApp.ip = '*' c.NotebookApp.notebook_dir = '/home/用户名/notebook' c.NotebookApp.password = '密码' c.NotebookApp.port = 端口号 c.NotebookApp.open_browser = False
配置服务
- 使用service将jupyter启动,在\lib\systemd\system创建jupyter_用户名.service例如:
[Unit] Description=jupyter notebook After=network.target [Service] Type=simple # 这里填用户名,下同 User=用户名 #EnvironmentFile=/home/starfish/.local/bin/jupyter-notebook ExecStart= /usr/bin/jupyter-notebook ExecStop=/usr/bin/pkill /usr/bin/jupyter-notebook KillMode=process Restart=on-failure RestartSec=30s [Install] WantedBy=multi-user.target
- 启动服务
# 启动服务 systemctl start jupyter_用户名.service # 开机自启 systemctl enable jupyter_用户名.service # 查看状态 systemctl status jupyter_用户名.service