jupyter notebook如何使用虚拟环境?

在Jupyter Notebook中使用虚拟环境可以让你在不同项目中使用不同的Python环境和依赖包。以下是详细的设置方法:

方法一:使用ipykernel(推荐)

1. 创建并激活虚拟环境

复制代码
# 创建虚拟环境
python -m venv myenv

# 激活虚拟环境
# Windows:
myenv\Scripts\activate
# macOS/Linux:
source myenv/bin/activate

2. 安装ipykernel

在激活的虚拟环境中安装:

复制代码
pip install ipykernel

3. 将虚拟环境添加到Jupyter

复制代码
python -m ipykernel install --user --name=myenv --display-name="Python (myenv)"
  • --name: 内核名称(内部标识)

  • --display-name: 在Jupyter界面中显示的名称

4. 启动Jupyter Notebook

复制代码
jupyter notebook

在Notebook界面中,通过菜单 Kernel→ Change kernel→ 选择你创建的虚拟环境。

方法二:直接安装jupyter到虚拟环境

1. 创建并激活虚拟环境

复制代码
python -m venv myenv
source myenv/bin/activate  # 或 Windows: myenv\Scripts\activate

2. 在虚拟环境中安装jupyter

复制代码
pip install jupyter

3. 启动Jupyter

复制代码
jupyter notebook

这样启动的Jupyter会自动使用当前虚拟环境的Python解释器。

方法三:使用conda环境

如果你使用Anaconda/Miniconda:

1. 创建conda环境

复制代码
conda create -n myenv python=3.9
conda activate myenv

2. 安装ipykernel

复制代码
conda install ipykernel
# 或者
pip install ipykernel

3. 添加到Jupyter

复制代码
python -m ipykernel install --user --name=myenv --display-name="Python (myenv)"

管理内核

查看已安装的内核

复制代码
jupyter kernelspec list

删除内核

复制代码
jupyter kernelspec uninstall myenv

验证环境

在Notebook中运行以下代码验证当前环境:

复制代码
import sys
print(sys.executable)  # 显示Python解释器路径
print(sys.version)     # 显示Python版本

# 检查已安装的包
!pip list

常见问题解决

1. 内核启动失败

如果内核无法启动,尝试重新安装ipykernel:

复制代码
pip install --upgrade ipykernel
python -m ipykernel install --user --force

2. 包导入错误

确保在正确的虚拟环境中安装了所需的包,并在添加内核前激活该环境。

3. 多个Python版本

如果使用多个Python版本,明确指定python路径:

复制代码
/path/to/python -m ipykernel install --user --name=myenv

最佳实践建议

  1. 为每个项目创建独立的虚拟环境

  2. 使用明确的显示名称区分不同环境

  3. 定期清理不需要的内核 :使用 jupyter kernelspec list和 jupyter kernelspec uninstall

  4. 在requirements.txt或environment.yml中记录依赖

这样设置后,你就可以在Jupyter Notebook中轻松切换不同的Python虚拟环境了。

相关推荐
懂点Tech4 小时前
ctfshow misc28:GIF 高度修改解题与脚本实现
开发语言·windows·python
comedate4 小时前
SMLib 的 Examples 导读:PyAPI / SM_API / SMLib 三组示例怎么读
python·cad·smlib·examples·sm_api
云和数据.ChenGuang4 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
西西木科技丨Shopify开发机构5 小时前
CalDigit TS4案例:AI产品图的Shopify整站接入与验收
人工智能·shopify·独立站
川石课堂软件测试5 小时前
学习软件测试需掌握的一些知识
数据库·python·sql·功能测试·网络协议·mysql·http
2601_965448875 小时前
AI视频制作:做系列节气民俗视频音色不统一,AI 音色克隆省事的方法
人工智能·机器学习·音视频
美狐美颜SDK开放平台5 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
HRaitest5 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑
大数据·人工智能·求职招聘·ai-native
天远数科6 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关
运维·人工智能·架构·自动化
万化冥合6 小时前
PyBox屏幕键盘如何辅助演示键盘操作?
python·计算机外设