如何在 VS Code 中使用 Jupyter Notebook 中的虚拟环境

问题描述 投票:0回答:1

我使用 Jupyter 扩展 (v2024.10.0)、Python (v2024.20.0) 和 Pylance (v2024.12.1) 以及默认解释器路径,MacOS Sonoma 14.6 上的 VS Code 1.95.3。我想使用与通过终端运行模块时使用的相同虚拟环境在 jupyter 笔记本中交互式调试 Python 代码。

例如我有一个包含这些文件的项目:

  • 测试.ipynb
  • 脚本.py

我像这样运行我的脚本:

$ source ~/envs/my-project-env/bin/activate
(my-project-env) $ python script.py

我想在 Jupyter 笔记本中使用 my-project-env 环境。我单击右上角的“选择内核”,但它没有出现在下拉列表中。

enter image description here

接下来我尝试这里的提示并使用

ipython kernel install --user --name=my-project-env
。它创建了内核,我可以从 Jupyter Kernel... 列表中选择它,但它使用了错误的 Python 路径,而是指向我的全局默认解释器。

接下来我尝试这个技巧,通过将可执行文件的路径添加到Python解释器列表来添加我的Python解释器。这非常适合创建用于运行 script.py 的专用终端。不再需要手动获取我的环境:

enter image description here

但是在 Jupyter Notebook 的“选择内核”列表中仍然无法选择内核。如何运行 Jupyter Notebook 并使用与我的脚本相同的环境获得相同的代码自动完成功能?

python visual-studio-code jupyter-notebook virtualenv
1个回答
0
投票

我解决这个问题的唯一方法是通过“选择内核”菜单中的“创建 Python 环境”选项创建一个新的 Python 环境:

enter image description here

这在我的项目文件夹的根目录中创建了一个名为“.venv”的虚拟环境,它可用于我的脚本和 Jupyter 内核。

!which python
import sys
sys.executable

都显示了预期的结果,并且可以毫无问题地导入包。

这是一个不错的解决方案,尽管我宁愿在很多情况下能够重用现有环境。

© www.soinside.com 2019 - 2024. All rights reserved.