Jupyter Notebook如何调用指定的虚拟环境

本文介绍了在Jupyter Notebook遇到kernel错误时,如何确保Notebook使用指定的Anaconda虚拟环境。问题源于Notebook运行在默认环境中而非目标环境。解决方法包括查询和添加虚拟环境为Jupyter的Kernel,通过修改配置文件并重启Notebook,使得Notebook成功调用了所需的Python环境和库。此外,还提到了可能出现的tab扩展失效问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 问题由来

不久前,jupyter notebook运行时出现了kernel error的问题,于是上网搜索方法,发现运行如下命令能够解决问题:

python -m ipykernel install --user

本人Anaconda中自行配置了一个名为data的虚拟环境,并在此环境中安装了诸多专门的用于数据处理的package。

问题来了:

  • 某天突然发现,虽然是从指定虚拟环境进入Notebook,但依旧无法使用data中的库。
  • 然而,退出来运行命令conda list查询,可以发现所有想要的包就好好地躺在里面。

2 发现原因

知识点:虽然Jupyter Notebook是在data的虚拟环境中启动的(Mac启动命令为source activate environment_name)。但是它居然还可能是运行的默认环境,而不是你指定的虚拟环境,这就是问题所在。

出现这种问题的原因,可能就是前面命令行将设置给初始化了之类的(仅猜测)。

运行如下代码可以查询目前的Notebook究竟运行的是哪一个虚拟环境:

import os, sys
print(sys.executable) # works this time
print(sys.version)
print(sys.version_info)

输出结果如下:

>&
### 配置并使用 Python 虚拟环境 为了使 Jupyter Notebook 支持特定的 Python 虚拟环境,需遵循一系列操作来确保虚拟环境中的包能够在 Jupyter Notebook 中被识别和调用。 #### 创建与激活虚拟环境 首先创建一个新的 Conda 虚拟环境,并指定所需的 Python 版本: ```bash conda create -n python2 python=2.7 ``` 接着通过命令行激活此新创建的虚拟环境[^1]: ```bash source activate python2 ``` 对于 Windows 用户而言,应采用如下指令代替 `source` 命令: ```cmd activate python2 ``` #### 安装必要的内核支持工具 为了让 Jupyter Notebook 认识到这个新的虚拟环境,需要在这个环境中安装 `ipykernel` 包。这一步骤允许 Jupyter Notebook 加载来自不同虚拟环境下的 Python 解释器作为其运行时环境的一部分。 在已激活的目标虚拟环境中执行以下命令以安装 `ipykernel` : ```bash conda install ipykernel ``` 或者如果偏好 pip 工具,则可以改用 pip 来完成相同的操作: ```bash pip install ipykernel ``` #### 注册虚拟环境Jupyter Kernel 列表 一旦上述准备工作完成后,下一步就是将当前活动的虚拟环境注册给 Jupyter 的 kernelspecs 数据库,以便于后续可以在启动 Jupyter Notebook 后选择对应的 Python 环境工作。 利用下面这条命令实现向 Jupyter 添加自定义命名的新 kernel entry ,其中 `[环境名]` 和 `"Python (myenv)"` 分别代表内部引用的名字以及显示在界面上的文字描述[^3]: ```bash python -m ipykernel install --user --name=[环境名] --display-name="Python ([环境名])" ``` 例如,针对名为 `openvoice` 的虚拟环境,具体命令将是这样的形式[^4]: ```bash python -m ipykernel install --user --name=openvoice --display-name="Python (openvoice)" ``` #### 重启或刷新 Jupyter Notebook 并验证设置 最后,在完成了以上所有步骤之后,建议重新启动或刷新正在使用的 Jupyter Notebook 实例。此时应当能在新建文档选项里找到刚刚添加的那个带有特殊标签 (`"Python (myenv)"`) 的 Python 内核入口[^5]。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jame__

人海茫茫,感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值