Skip to main content

(四)安装 Jupyter

使用SSH下进行代码调试太慢了,我们选择直接使用jupyter。因为它可以即时执行代码并查看结果,同时减少了需要通过 SSH 传输的数据量。

在安装jupyter之前,我们最好先创建 内核。 建议把 jupyter 安装在 base 环境里,这样出问题的概率最小。所以我们先在 base 环境中创建一个 内核。


(一) 安装内核

什么是内核呢?

jupyter 进行计算需要使用一个制定的内核,就类似于 python.exe 这样的功能。安装内核,首先需要安装 ipykernal, ipykernal 就是jupyter 的内核管理器


切换成base环境

conda activate base

为当前环境 安装 ipykernel

conda install ipykernel 

查看ipykernel是否安装成功(应该输出版本号)

ython -m ipykernel --version

现在我们已经安装了 ipykernal,就可以在这个环境里添加内核了

python -m ipykernel install --user --name=环境名 --display-name 在内核选择时显示的内核假名
python -m ipykernel install --user --name=base --display-name base-kernal

由于这个内核安装在这个环境,所以当 jupyter 使用这个内核的时候, 就可以调用这个环境里的包

这样创建的内核就会指向当前环境,之后在jupyter notebook中也可以选择相应内核

image-20250307142844574


(二)安装 Jupyter

接下来安装 jupyter

conda activate base
conda install jupyter

生成 Jupyter Notebook 配置文件

这将在你的用户目录下的 .jupyter 文件夹中创建一个配置文件 jupyter_notebook_config.py。

jupyter notebook --generate-config

设置一个jupyter密码

jupyter notebook password

创建一个新对话

screen -S jupyter

直接新建 会话的时候,没有加载 Conda 的初始化脚本,需要手动激活

 source ~/.bashrc
 conda activate base

启动 Jupyter Notebook,指定任意 IP 地址访问(这是必需的,以便通过网络访问)

jupyter notebook --ip=0.0.0.0 --port=8888

image-20250307143242711



(三)管理内核

我们之所以在安装jupyter之前先安装内核,是因为jupyter在安装过程中会自动检测当前环境下有没有内核

如果没有,则会自动安装 ipykernel 并且自动创建一个叫做 python3 的内核。 这个内核非常奇怪 并且不好管理,所以我们要事前 安装好这个环境的 内核,这样jupyter 就不会自己安装内核了

tip

Jupyter 的内核发现机制

Jupyter Notebook 会在启动时查找已安装的内核规格(kernelspecs)。这些规格定义在特定的位置,通常包括:

  • 系统级目录(如 /usr/local/share/jupyter/kernels)

  • 用户级目录(如 ~/.local/share/jupyter/kernels)

  • 环境级目录(如 envs/env_name/share/jupyter/kernels)


当前我们只安装了一个内核,就是 base_kernal

显然这个kernal是没有安装pytorch的

image-20250307143431590

所以要为pytorch_env 虚拟环境安装内核,操作差不多

conda activate pytorch_env
conda install ipykernel

查看ipykernel是否安装成功

python -m ipykernel --version

添加内核

python -m ipykernel install --user --name=pytorch_env --display-name pytorch-env-kernal

这样我们的内核就添加好了,在jupyter中可以选择使用哪个内核

image-20250307143529427

这个内核就可以调用pytorch了

image-20250307143537720

tip

查看当前的所有已注册内核

jupyter kernelspec list 
danger

如果进行上述步骤都没有问题,在jupyter notebook中也可以选择相应内核,但就是不管用。 比如环境下明明有某个包,但import时还是找不到。这是因为内核没有成功地指向虚拟环境,需要手动设置

查看jupyter所有内核,找到你的内核,进入到对应的目录下

jupyter kernelspec list 

image-20250307143648238

打开kernel.json文件,确保argv的第一个参数 指向你想要的虚拟环境

image-20250307143659079

删除指定内核

jupyter kernelspec remove 内核名称

至此完成了 Jupyter 的安装