开始之前安装相应环境:
- 安装 Anaconda 或者 miniconda
- 创建 conda 环境并激活
conda create jupyter_notebook python=3.9
conda activate jupyter_notebook
Shell
- 安装 jupyter notebook
conda install jupyter notebook
- 生成 Notebook配置文件
jupyter notebook --generate-config这个命令会在用户主目录下(通常是~/.jupyter/)生成一个名为jupyter_notebook_config.py的文件。它会提示配置文件的路径,例如/home/your_username/.jupyter/jupyter_notebook_config.py
Notebook 指定默认启动目录
通过修改 ~/.jupyter/jupyter_notebook_config.py 文件中的 c.ServerApp.root_dir 配置项,现在可以指定 Jupyter Notebook 启动时直接进入想要的目录。
配置密码登录
Jupyter Notebook 从 token 认证切换到了密码认证。这涉及到:
- 使用
ipython生成argon2格式的密码哈希值。Jupyter Notebook 不会直接存储明文密码,而是存储密码的哈希值。需要使用 IPython 来生成这个哈希值。 -
- 启动 IPython 解释器
python -m IPython或者直接输入ipython(如果安装了 IPython) - 在 IPython 中生成哈希值, 在 IPython 提示符
In [1]:后面,输入以下 Python 代码 -
-
from notebook.auth import passwd passwd() # 会提示输入要设置的密码两次 # 成功后,它会输出一串密码哈希值 # 输入 exit() 并按回车 - Python
-
- 启动 IPython 解释器
- 在配置文件中,将
c.ServerApp.password设置为这个哈希值。
- 将
c.ServerApp.password_required设置为True,强制要求密码登录。
- 将
c.ServerApp.token设置为''(空字符串)以禁用 token 认证。
- 将
c.ServerApp.allow_unauthenticated_access设置为False,以强制进行认证。
Python内核配置
在一个 Conda 环境中安装了特定版本的 Python(比如 python=3.9),并在该环境中启动 Jupyter Notebook 时,默认情况下,新创建的 Notebook 会使用该环境中的 Python 3.9 作为其内核。
在 Jupyter Notebook 中使用其他版本的 Python 内核
如果想在同一个 Jupyter Notebook 中使用其他版本的 Python,或者说,想让 Jupyter Notebook 能够识别并切换到其他 Conda 环境中的 Python 版本,需要做以下几件事:
核心概念:IPykernel
Jupyter Notebook 并不是直接运行 Python 代码,而是通过一个叫做 IPykernel 的程序来与底层的 Python 环境进行交互。每个希望在 Jupyter Notebook 中使用的 Python 环境,都需要安装相应的 IPykernel,并将其注册到 Jupyter Notebook 中。
步骤:
假设现在有一个 Conda 环境,叫做 my_python_3.10_env,里面安装了 Python 3.10,想让 Jupyter Notebook 也能用它。
- 在目标 Conda 环境中安装
ipykernel: 首先,需要激活想要使用的 Python 版本的 Conda 环境,并在该环境中安装ipykernel -
-
# 激活的目标环境,比如一个名为 my_python_3.10_env 的环境 conda activate my_python_3.10_env # 在这个环境中安装 ipykernel conda install ipykernel - Shell
-
- 将该环境注册为 Jupyter 内核: 安装
ipykernel后,需要告诉 Jupyter Notebook 这个环境的存在python -m ipykernel install --prefix=$CONDA_PREFIX --name python_3.10 --display-name "pp_3.10" -
-
python -m ipykernel install:这是注册内核的命令。
-
$CONDA_PREFIX:这是一个环境变量,它会自动指向当前活跃的 Conda 环境的安装路径(例如/home/{user_name}/anaconda3/envs/py_3.10)。使用它能确保内核被注册到
-
-name my_python_3.10_env:给这个内核一个内部名称,通常与 Conda 环境名称相同。
-
-display-name "Python (3.10)":这是在 Jupyter Notebook 界面中显示的名称
-
这样做了之后:
当启动 Jupyter Notebook 后:
- 创建新 Notebook 时: 在 Jupyter Notebook 的主界面,点击 "New" 按钮时,会在下拉菜单中看到刚刚注册的内核(例如 "Python (3.10)"),可以选择它来创建一个使用该 Python 版本的 Notebook。
- 切换现有 Notebook 的内核: 如果已经打开了一个 Notebook,也可以在 Notebook 内部通过菜单栏的
Kernel -> Change kernel选项来切换到其他已注册的内核。
可能因为诡异的权限问题,导致新的kernel不生效,可以尝试安装
nb_conda_kernelsconda install nb_conda_kernels
查看所有kernel
jupyter kernelspec list删除kerneljupyter kernelspec uninstall kernel_name
Kernel 的Python版本 VS notebook环境Python版本
在notebook cell里输入 !which python, 指向的是,当前运行notebook的环境的Python
在cell里输入如下代码,输出的是kernel的Python的版本
import sys
print("Python version:", sys.version)
print("Executable path:", sys.executable)
Python
**
**
**免密登录服务器/服务器登录加 AuthUbuntu开荒**
相关文章 :
**目录
开始之前安装相应环境:Notebook 指定默认启动目录配置密码登录Python内核配置在 Jupyter Notebook 中使用其他版本的 Python 内核
**
©2021-2025 sunpcm. All rights reserved.
Powered byNotionNext 4.8.6
/article/notebook