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

同一虚拟环境下IPython可导入模块,Jupyter Notebook报ModuleNotFoundError

问题:虚拟环境中Jupyter Notebook无法导入已安装模块
  • 创建虚拟环境:
    $ python3 -m venv /home/jeanpat/Devel/icevision
    
  • 激活虚拟环境:
    source /home/jeanpat/Devel/icevision/bin/activate
    
  • 在该环境下通过pip安装了pycocotools等模块,IPython控制台可正常导入,但同一虚拟环境运行的Jupyter Notebook导入模块失败。
  • 在Notebook单元格执行以下命令能查到模块信息:
    !pip freeze|grep pycocotools
    
    输出结果:
    pycocotools==2.0.4
    
  • 虚拟环境下的jupyter路径信息:
    (icevision) jeanpat:~/ $ jupyter --paths
    
    输出结果:
    config:
        /home/jeanpat/.jupyter
        /home/jeanpat/Devel/icevision/etc/jupyter
        /usr/local/etc/jupyter
        /etc/jupyter
    data:
        /home/jeanpat/.local/share/jupyter
        /home/jeanpat/Devel/icevision/share/jupyter
        /usr/local/share/jupyter
        /usr/share/jupyter
    runtime:
        /home/jeanpat/.local/share/jupyter/runtime
    
  • 已尝试执行以下命令,但问题未解决:
    $ ipython kernel install --name "icevision" --user
    
解决方案
  1. 确保内核绑定虚拟环境的Python解释器
    激活虚拟环境后,先安装ipykernel:

    pip install ipykernel
    

    重新注册内核时指定虚拟环境的Python路径:

    python -m ipykernel install --user --name=icevision --display-name="Python (icevision)"
    

    启动Jupyter Notebook后,在右上角内核选择器中切换到Python (icevision)。

  2. 验证Notebook使用的Python路径
    在Notebook单元格中执行以下代码,确认路径是否为虚拟环境的Python路径(/home/jeanpat/Devel/icevision/bin/python):

    import sys
    print(sys.executable)
    

    若路径不符,说明内核未切换成功,重新执行第一步。

  3. 清理旧内核配置
    如果存在旧的内核缓存,先删除对应目录:

    rm -rf ~/.local/share/jupyter/kernels/icevision
    

    再重新注册内核。

  4. 从虚拟环境直接启动Jupyter
    激活虚拟环境后,安装Jupyter:

    pip install jupyter
    

    直接启动Notebook,此时会默认使用当前虚拟环境的Python环境:

    jupyter notebook
    

内容的提问来源于stack exchange,提问作者Jean-Pat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:46:05