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

Jupyter Notebook中pydrake的ModuleNotFoundError问题求助

虚拟环境中Jupyter无法导入pydrake的问题排查与解决

问题背景

我在Ubuntu 20.04系统的虚拟环境中通过pip安装了pydrake,操作步骤如下:

$ python3 -m venv drakeEnv
$ drakeEnv/bin/pip install --upgrade pip
$ drakeEnv/bin/pip install drake
$ source env/bin/activate  # 注:此处存在拼写错误,应为source drakeEnv/bin/activate
(drakeEnv) $ pip install jupyter
(drakeEnv) $ pip install ipython
(drakeEnv) $ ipython kernel install --name=drakeEnv
(drakeEnv) $ jupyter notebook

尽管drakeEnv内核已显示在Jupyter的内核列表中,但运行时仍提示ModuleNotFoundError: No module named 'pydrake'。在drakeEnv环境中执行which jupyter确认未使用全局Jupyter,请问问题出在哪里?

问题原因与解决方法

1. 激活命令拼写错误引发的环境混淆

你第4行的激活命令写错了,本该是source drakeEnv/bin/activate却写成了source env/bin/activate,这会导致两种问题:

  • 若系统存在名为env的虚拟环境,你会激活错误环境并在其中安装jupyter、ipython,后续的内核也会绑定到这个错误环境;
  • 若没有env环境,这条激活命令会执行失败,但你后续的安装命令实际是在全局环境中执行的,即便之后手动激活了正确的drakeEnv,之前安装的内核配置已经指向了错误路径。

2. 内核安装未绑定当前虚拟环境路径

执行ipython kernel install --name=drakeEnv时,默认会将内核安装到全局路径,但内核配置里的Python解释器路径可能并未指向drakeEnv的Python,导致运行时调用的环境没有安装pydrake。

具体解决步骤

  • 清理错误内核
    先删除已安装的错误内核:
    jupyter kernelspec remove drakeEnv
    
  • 激活正确的虚拟环境
    source drakeEnv/bin/activate
    
  • 重新安装内核并绑定当前环境
    在激活的drakeEnv环境中执行以下命令,确保内核使用当前环境的Python解释器:
    python -m ipykernel install --user --name=drakeEnv --display-name "Python (drakeEnv)"
    
  • 验证内核配置(可选)
    查看内核配置文件(通常路径为~/.local/share/jupyter/kernels/drakeEnv/kernel.json),确认argv字段指向drakeEnv的Python路径,示例如下:
    {
     "argv": [
      "/home/你的用户名/drakeEnv/bin/python",
      "-m",
      "ipykernel_launcher",
      "-f",
      "{connection_file}"
     ],
     "display_name": "Python (drakeEnv)",
     "language": "python"
    }
    
    如果路径不符,手动修改为正确的虚拟环境Python路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:54:51