Ubuntu 23(Lunar Lobster)中Jupyter Notebook无法识别已安装模块求助
解决Ubuntu 23.04中Jupyter无法识别Python包的问题
从你给出的sys.path能明确问题:用pipx安装的Jupyter运行在独立虚拟环境中,和系统Python、你通过apt/pipx单独安装的包完全隔离,所以才会出现识别不了的情况。下面是几种直接的解决方法:
方法1:给Jupyter的虚拟环境装包
pipx的Jupyter有自己专属的虚拟环境,直接激活它来装包就能被识别:
- 激活虚拟环境:
source ~/.local/pipx/venvs/jupyter/bin/activate - 用pip安装需要的包(以
numpy为例):pip install numpy - 装完退出虚拟环境:
deactivate
重新打开Jupyter就能正常导入包了。
方法2:让Jupyter使用系统/自定义Python环境
如果不想用隔离的虚拟环境,直接把pipx的Jupyter卸载,改用对应Python环境的pip安装:
- 卸载pipx版Jupyter:
pipx uninstall jupyter - 修复系统pip(如果之前无法使用):
sudo apt install python3-pip - 用系统pip安装Jupyter(加
--user避免权限问题):pip install --user jupyter
这样Jupyter会和系统Python共用包目录,apt安装的包也能直接识别。如果有自己的虚拟环境,激活后用pip装Jupyter即可。
方法3:临时添加系统包路径(不推荐长期使用)
如果只是临时需要导入apt安装的包,可在Jupyter中手动添加系统包路径:
- 先在终端获取系统Python的包目录:
通常会得到类似python3 -c "import site; print(site.getsitepackages())"/usr/lib/python3/dist-packages的路径 - 在Jupyter的代码单元格中执行:
import sys sys.path.append('/usr/lib/python3/dist-packages')
之后就能导入apt安装的包,但每次启动Jupyter都需要执行这段代码。
内容的提问来源于stack exchange,提问作者Elaina Jeansonne
相关产品推荐
相关产品推荐

