Jupyter Notebook中!命令如何指定虚拟环境安装Python包?
解决Jupyter Notebook中!命令指定虚拟环境安装包的问题
问题根源
直接用!pip install或!pip3 install时,调用的是系统默认的pip程序,而非当前Jupyter选中内核对应的虚拟环境里的pip,所以包会被安装到base环境而非目标venv。
可行解决办法
方法1:直接调用虚拟环境的pip绝对路径
找到你的虚拟环境所在目录,直接用该环境内pip的完整路径执行安装。比如你的venv路径是~/my_project_venv,在Notebook里这么写:
import os if os.name=='posix': !~/my_project_venv/bin/pip install wget import wget
要是不确定路径,先在Notebook里运行!which python,得到当前内核的Python路径后,把末尾的python替换成pip就是对应pip的路径。
方法2:用sys.executable适配当前内核(通用写法)
借助Python的sys模块获取当前运行的解释器路径,通过该路径调用pip,不管虚拟环境在哪都能适配:
import os import sys if os.name=='posix': !{sys.executable} -m pip install wget import wget
这里{sys.executable}会自动替换为当前Jupyter内核使用的Python解释器路径,-m pip表示调用该解释器自带的pip模块执行安装,确保包直接装到当前选中的虚拟环境里。
方法3:先激活虚拟环境再安装(Linux/macOS适用)
通过终端命令先激活目标venv,再执行pip安装,需要确保激活脚本路径正确:
import os if os.name=='posix': !source ~/my_project_venv/bin/activate && pip install wget import wget
内容的提问来源于stack exchange,提问作者Ntropy
相关产品推荐
相关产品推荐

