You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook中顺畅使用venv管理Python虚拟环境包?

解决Jupyter Notebook中使用venv虚拟环境的问题

问题根源

你遇到的核心问题是:Jupyter中用!执行的每一条命令都是在独立的子shell中运行的,!source first_venv/bin/activate只会激活当前这个子shell的环境,一旦这条命令执行完毕,子shell关闭,环境激活状态就会消失。后续的!pip install还是会调用系统默认的Python/pip,自然装到系统目录里。

可行解决方案

方案1:给虚拟环境添加Jupyter内核(推荐)

这是最顺畅的方式,让Jupyter直接使用虚拟环境的Python内核,之后所有操作都基于虚拟环境:

  1. 创建虚拟环境(如果还没创建):
    !python -m venv first_venv
    
  2. 给虚拟环境安装ipykernel(Jupyter内核依赖):
    !first_venv/bin/python -m pip install ipykernel
    
  3. 将虚拟环境注册为Jupyter的可用内核:
    !first_venv/bin/python -m ipykernel install --user --name=first_venv
    
  4. 重启Jupyter Notebook,在顶部菜单栏的「Kernel」→「Change Kernel」中选择first_venv。
  5. 之后直接执行!pip install faker就会把包安装到虚拟环境里,导入模块(import faker)也能直接从虚拟环境加载,完全隔离系统库。

方案2:在Notebook中直接指定虚拟环境的解释器(临时用)

如果不想添加内核,每次操作都明确调用虚拟环境里的Python和pip:

  • 安装包:
    !first_venv/bin/pip install faker
    
  • 要导入模块的话,需要确保Notebook的代码运行在虚拟环境的Python中。可以通过在Notebook开头添加以下代码强制使用虚拟环境的解释器(仅适用于部分场景,不如方案1稳定):
    import sys
    sys.executable = 'first_venv/bin/python'
    
    之后再导入模块就能加载虚拟环境里的包了。

总结

不需要只能用终端操作,方案1是长期开发最方便的选择,配置一次后就能像使用系统内核一样顺畅操作虚拟环境,完全实现依赖的独立封装。

内容的提问来源于stack exchange,提问作者cloudscomputes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:02:20