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

Jupyter Notebook代码单元格中pip install与!pip install的适用场景咨询

在Jupyter Lab/Notebook中pip install vs !pip install的适用场景

直接用pip install和加!的!pip install,核心是执行机制的不同,下面分情况说明:

两者的本质区别

  • !pip install:通过系统shell执行pip命令,相当于在终端里直接敲这条命令,会调用当前Jupyter内核绑定的Python环境对应的pip。
  • 直接pip install:在Python进程内调用pip模块执行安装,等价于运行from pip._internal import main; main(['install', '包名']),本质是Python代码调用pip的API。

大部分场景两者效果一致

如果你的Jupyter内核对应的Python环境,和shell环境里的pip属于同一个环境,两种方式都会把包安装到该环境下,安装完成后重启内核就能正常导入使用。

必须用!pip install的场景

  • 需要使用shell专属语法时:比如传递--user参数安装到用户目录、引用shell环境变量(如!pip install $MY_PACKAGE)、使用管道/重定向(如!pip install 包名 > install.log),这些shell特性直接pip install无法解析。
  • 要指定特定Python环境的pip时:比如你想给Python3.10环境安装包,用!python3.10 -m pip install 包名,这种通过shell指定解释器的方式,直接pip install做不到,因为它只能用当前内核绑定的pip。
  • 老版本Jupyter/IPython环境:IPython 7.x之前的版本,没有自动将pip install映射为模块调用,直接执行会报错,必须加!。

直接pip install的局限性

  • 无法使用任何shell相关的语法,比如通配符、环境变量、管道等。
  • 极少情况下,如果你的Python环境中pip模块的路径配置异常,直接调用会失败,但!pip install只要shell环境变量能找到pip就能运行。

注意事项

不管用哪种方式安装包,安装完成后都需要重启Jupyter内核,新安装的包才能被导入使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 13:17:11