(四)安装 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中也可以选择相应内核

(二)安装 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

(三)管理内核
我们之所以在安装jupyter之前先安装内核,是因为jupyter在安装过程中会自动检测当前环境下有没有内核
如果没有,则会自动安装 ipykernel 并且自动创建一个叫做 python3 的内核。 这个内核非常奇怪 并且不好管理,所以我们要事前 安装好这个环境的 内核,这样jupyter 就不会自己安装内核了
Jupyter 的内核发现机制
Jupyter Notebook 会在启动时查找已安装的内核规格(kernelspecs)。这些规格定义在特定的位置,通常包括:
-
系统级目录(如 /usr/local/share/jupyter/kernels)
-
用户级目录(如 ~/.local/share/jupyter/kernels)
-
环境级目录(如 envs/env_name/share/jupyter/kernels)
当前我们只安装了一个内核,就是 base_kernal
显然这个kernal是没有安装pytorch的

所以要为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中可以选择使用哪个内核

这个内核就可以调用pytorch了

查看当前的所有已注册内核
jupyter kernelspec list
如果进行上述步骤都没有问题,在jupyter notebook中也可以选择相应内核,但就是不管用。 比如环境下明明有某个包,但import时还是找不到。这是因为内核没有成功地指向虚拟环境,需要手动设置
查看jupyter所有内核,找到你的内核,进入到对应的目录下
jupyter kernelspec list

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

删除指定内核
jupyter kernelspec remove 内核名称
至此完成了 Jupyter 的安装