创建以及更换 Jupyter Notebook 内核 Python 版本

创建以及更换 Jupyter Notebook 内核 Python 版本,第1张

文章目录
  • 一. 更换 kernel 的 Python 位置
  • 二. 创建新的 kernels
    • 1. 如何创建
    • 2. 上述命令的一点说明

一. 更换 kernel 的 Python 位置

首先找到 Jupyter Notebook 内核指定的 Python 环境位置, 然后修改相应的指定 Python 位置即可.
利用 jupyter kernelspec list 查看所有可用的 kernels

dell@dell-Tower:~$ jupyter kernelspec list
Available kernels:
  python3    /opt/anaconda3/share/jupyter/kernels/python3

接着

dell@dell-Tower:~$ cd /opt/anaconda3/share/jupyter/kernels/python3
dell@dell-Tower:/opt/anaconda3/share/jupyter/kernels/python3$ ll
total 20
drwxr-xr-x 2 root root 4096 4月  11 15:53 ./
drwxr-xr-x 3 root root 4096 4月  11 15:53 ../
-rw-rw-r-- 1 root root  212 4月  11 15:53 kernel.json
-rw-rw-r-- 2 root root 1084 10月  6  2021 logo-32x32.png
-rw-rw-r-- 2 root root 2180 10月  6  2021 logo-64x64.png

编辑这个 kernel.json 可以看到里面的内容

{
 "argv": [
  "/opt/anaconda3/bin/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3 (ipykernel)",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

里面的 "/opt/anaconda3/bin/python" 可以进行更改 Python 的位置,
以及 "display_name": "Python 3 (ipykernel)" 表示所显示的名称为 Python 3 (ipykernel) 也是可以进行编辑的.


二. 创建新的 kernels 1. 如何创建
conda activate env-name
pip install ipykernel
python -m ipykernel install --user --name env-name --display-name "name-display"

其中第一个 env-name 是你虚拟环境的名称, name-display 是在 jupyter notebook 中展示的名称.
可以 conda deactivate env-name 回到 base 环境中, 然后输入 Jupyter notebook 启动就可以了.
同样的, 也可以利用上面的方法对新创建的 kernel 找到其位置并进行编辑.

2. 上述命令的一点说明

这里需要说明一下 --user 这个选项, 普通账户在使用 anaconda 新建虚拟环境时, 产生的相关文件都在本账户的家目录下, 即 /home/username. 但是在生成 ipykernel 的配置文件时, 所以在没有 --user 选项时, 即 python -m ipykernel install --name env-name --display-name "name-display" 命令生成配置文件的路径为 /usr/local/share/jupyter, 显然普通账户没有权限写入, 因而报错

[Errno 13] Permission denied: '/usr/local/share/jupyter'

这时如果直接先 sudo -i 取得 root 权限后, 此时的 虚拟环境 就直接切换到 base 下了, 当再运行 python -m ipykernel install --name env-name --display-name "name-display" 命令时, 创建的其实是 base 下的 kernel, 这显然不是我们想要的.

所以一般普通用户 (即非 root 用户), 创建新的 kernel 时一定要在命令中添加 --user 选项.

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/785957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存