问题
在Python开发中,一些人在服务器上使用Jupyter Notebook中进行开发。一般是创建虚拟环境后,向Jupyter notebook中添加虚拟环境中的Kernel,后续新建Notebook中在该Kernel中进行开发,这里记录一下如何创建Python虚拟环境以及添加Kernel,便于进一步在Jupyter Notebook中使用不同Python版本和环境的灵活性。
解决办法
Jupyter Notebook是数据科学家和程序员中广泛使用的工具,因为它允许使用各种编程语言进行交互式计算,如Python、R、Julia等。然而,在开发中可能会发现需要使用不同版本的Python,甚至特定的Python环境。在这种情况下,向Jupyter Notebook添加新内核会非常有帮助。
目录:
- 先决条件
- 步骤1:创建Python3虚拟环境
- 第2步:激活虚拟环境
- 第3步:安装IPython内核包
- 第4步:向Jupyter注册内核
- 第5步:验证和使用新内核
- 结论
先决条件
在开始之前,应该在系统上安装以下工具:
- Python3. x
- Jupyter Notebook
- Virtualenv/Conda(用于创建虚拟环境)
如果没有安装好这些,请按照它们各自网站上的说明进行设置。
步骤1:创建Python3虚拟环境
首先,需要为Python3内核创建一个新的虚拟环境,这将帮助独立于系统范围的Python安装来管理内核使用的依赖项和包。
打开终端(或Windows上的命令提示符)并导航到要创建虚拟环境的目录。然后,运行以下命令:
- virtualenv
virtualenv -p python3 my-python3-env
- conda
conda create -n my-python3-env python=3.7
这将使用python3解释器创建一个名为my-python3-env
的新
虚拟环境,可以将my-python3-env
替换为您喜欢的任何名称。
第2步:激活虚拟环境
一旦创建了虚拟环境,就可以激活它,之后在虚拟环境的上下文中安装软件包并配置内核。要激活虚拟环境,请运行以下命令:
在Linux或macOS上:
- virtualenv
source my-python3-env/bin/activate
- conda
conda activate my-python3-env
在Windows上:
- virtualenv
my-python3-env\Scripts\activate
- conda
conda activate my-python3-env
激活虚拟环境后,终端提示符应更改以反映活动环境,如下所示:
(my-python3-env) $
第3步:安装IPython内核包
切换到对应的虚拟环境后,可以安装IPython内核包。这个包是Python3内核在Jupyter Notebook中正常运行所必需的。运行以下命令安装IPython内核包:
pip install ipykernel
第4步:向Jupyter注册内核
安装了IPython内核包后,现在可以使用Jupyter Notebook注册新Python3内核。为此,将使用ipykernel
命令,该命令作为IPython内核包的一部分安装。运行以下命令来注册内核:
python -m ipykernel install --user --name=my-python3-kernel
这个命令注册了一个名为my-python3-kernel
新内核,并将其与活动虚拟环境相关联。可以将my-python3-kernbel
替换任何其他的名称。选择内核时,此名称将显示在Jupyter Notebook界面中。
第5步:验证和使用新内核
要验证新内核是否已成功注册并可在Jupyter Notebook中使用,通过运行以下命令启动Jupyter Notebook:
jupyter notebook
这将在默认Web浏览器中打开Jupyter Notebook界面。通过单击右上角的新建按钮创建一个新笔记本,然后从下拉框中选择新内核(my-python3-kernel
)。
现在应该能够在Jupyter Notebook中使用新的Python3内核,尝试在Notebook单元中运行一些Python代码,以确认一切都按预期工作。
有了这个新内核,现在可以在Jupyter Notebook中使用不同版本的Python或特定Python环境,使得数据科学和编程任务更加灵活和高效。
注:如果想移除Kernel,可以使用以下命令:
1 查看所有的kernel
jupyter kernelspec list
2 删除你想删除的kernel
jupyter kernelspec uninstall my-python3-kernel
参考
- https://jupyter-client.readthedocs.io/en/latest/kernels.html
- https://www.dataquest.io/blog/jupyter-notebook-tutorial/