远程工作利器:高效指南教你如何在Linux服务器上部署Jupyter Notebook并实现安全远程访问
1.安装 Anaconda和python
你可以在终端中运行以下命令来检查是否已安装:
python --version
python3 --version
-
安装 pip
pip 是 Python 的包管理工具,用于安装和管理 Python 库。在终端中运行以下命令来安装 pip:
sudo yum install python3-pip
-
Anaconda安装
这里就不赘述了直接参考下述链接:
Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda12.4、cudnn]、CPU安装教学,多版本cuda11.2 自由切换
#1.创建指定python版本的环境 conda create --name your-env python=3.11 #2. 激活环境 conda activate your-env #3.退出环境 conda deactivate
2.安装 Jupyter
-
使用 pip 安装 Jupyter。运行以下命令:
# 更新pip3到最新版本 pip3 install --upgrade pip # pip安装jupyter notebook pip3 install jupyter
-
把 jupyter 添加到环境变量。
# 显示jupyter所在目录 ~ pip3 show jupyter Location: /usr/local/lib/python3.6/site-packages
a. 查找 Jupyter 的安装位置:
查找 Jupyter 可执行文件的安装位置。你可以使用以下命令找到:find / -name jupyter
上述命令可能需要一些时间,因为它会搜索整个文件系统。找到类似
/xxx/xxxl/bin/jupyter
的路径。b. 将 Jupyter 路径添加到 PATH:
打开你的 bash 配置文件,通常是~/.bashrc
或~/.bash_profile
。使用文本编辑器打开该文件:vim ~/.bashrc 或者 nano ~/.bash_profile
c. 在文件的末尾添加以下行(将
xxx/xxxx/bin
替换为上面找到的 Jupyter 可执行文件的路径):export PATH="/www/anaconda3/anaconda3/envs/agent/bin:$PATH"
保存并退出文本编辑器。
d. 使更改生效:
source ~/.bashrc
或者
source ~/.bash_profile
3.启动 Jupyter Notebook
3.1. 生成配置文件
jupyter notebook --generate-config
会生成一个jupyter_notebook_config.py
文件。
一般生成在root/.jupyter/下面
3.2. 创建密码
jupyter notebook password
输入两次密码,然后他会自动帮你把生成含有密码的 hash 码输入到jupyter_notebook_config.json
文件。
随便设置简单即可 123456789
3.3. 修改 jupyter notebook 的配置文件
-
打开配置文件
需要注意的是把路径添加正确!!!vim jupyter/jupyter_notebook_config.py
-
在该文件中做如下修改或直接在文件尾端添加:
c.NotebookApp.allow_remote_access = True #是否允许远程访问,默认False c.NotebookApp.allow_root = True #是否同意jupyter以root身份运行,默认False c.NotebookApp.ip = '0.0.0.0' #允许所有ip访问 c.NotebookApp.notebook_dir = '/www/algorithm/agent' #自定义工作区,目录要自己预先创建。 c.NotebookApp.open_browser = False #是否在键入jupyter时打开浏览器 c.NotebookApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=xxxxxxxxxxxxx' #jupyter server密码,从jupyter_notebook_config.json 复制出来。 c.NotebookApp.port = 8502 #jupyter的监听端口,默认8888
自定义工作区 :推荐放在ipynb所有目录一致
3.4. 启动 jupyter notebook
jupyter notebook
#jupyter notebook --ip=0.0.0.0 --port=8888
# 或使用nohup后台运行
nohup jupyter notebook &
3.5. 远程访问 jupyter notebook
浏览器输入http://ip:8502
, 会让你输入密码,密码即为你上面设置的。
http://10.80.2.195:8502/
4.Jupyter 好用的扩展插件
4.1 jupyter_contrib_nbextensions
-
1、安装 jupyter_contrib_nbextensions
该插件会扩展 jupyter 的很多功能,如目录,自动补全等,在服务器终端依次运行如下命令pip install jupyter_contrib_nbextensions jupyter-contrib-nbextension install --user
报错:ModuleNotFoundError: No module named ‘notebook.nbextensions’
Jupyter Notebook 7.0+ 版本对扩展的支持方式发生了变化,许多旧的扩展可能不兼容
方案1:使用 nbclassic
如果您使用的是 Jupyter Notebook 7.0 或更高版本,可以尝试安装 nbclassic:
pip install nbclassic
方案2:重新安装 jupyter-contrib-nbextensions
先卸载现有的包,然后重新安装:
pip uninstall -y jupyter_contrib_nbextensions
pip install jupyter_contrib_nbextensions
ModuleNotFoundError: No module named ‘jupyter_server.contents’
TypeError: warn() missing 1 required keyword-only argument: ‘stacklevel’
由于缺少 jupyter_server.contents 模块导致的。这是一个典型的依赖关系问题,因为Jupyter 相关包版本不兼容或安装不完整。
- Python 3.12 是较新的版本,某些 Jupyter 组件可能尚未完全兼容
- 错误中的 stacklevel 参数问题表明可能存在 Python 版本与库版本不匹配的情况
pip install jupyter_server
pip uninstall -y notebook jupyter_server
pip install notebook jupyter_server
打开 jupyter 会发现多了一个菜单栏 Nbextension
对 Nbextension 进行配置,勾选需要的功能
2、安装 nb_conda
conda install nb_conda
LibMambaUnsatisfiableError: Encountered problems while solving: - package nb_conda-2.2.1-py27_0 requires python >=2.7,<2.8.0a0, but none of the providers can be installed
安装完成后,需要在服务器重新启动一下 Jupyter notebook,会发现多了一个菜单栏 Conda
解决 nb_conda 安装错误
方案1:使用 conda-forge 通道
conda install -c conda-forge nb_conda_kernels
nb_conda_kernels 是 nb_conda 的替代品,通常与更新版本的 Python 兼容。
方案2
如果您只是需要在 Jupyter 中使用不同的 conda 环境,可以考虑使用以下替代方案:
# 安装 ipykernel
conda install ipykernel
# 将当前环境添加到 Jupyter
python -m ipykernel install --user --name
agentscope --display-name "Python (AgentScope)"
在服务器创建一个虚拟环境 python312,然后刷新一下页面,就可以看到虚拟环境 python312
conda create -n python312 python=3.12
5. 多个 Python 版本 kernel 配置
虽然上面已经创建了虚拟环境,并显示出来了,但是在创建新的 notebook 时并显示 python312,因为 python312 存在不同的虚拟环境里面,这个需要我们再进行配置
Jupyter Notebook 允许用户在同一个 notebook 中使用多个不同的 IPython 内核
-
1、安装 Jupyter Notebook 和 IPython 内核
conda create -n python312 python=3.12 #上面安装过的可以忽略 conda activate python312 pip install jupyter pip install ipykernel pip install ipywidgets
-
2、安装新的 kernel 内核
conda activate python312 #切换虚拟环境 ipython kernel install --name "python312" --user
-
3、服务器端重新启动 Jupyter notebook
建一个 python312 内核的 notebook,查看当前内核的 python 解释器版本