You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VS Code中如何让Jupyter Notebook使用与终端一致的虚拟环境并实现对应代码补全

VS Code中如何让Jupyter Notebook使用与终端一致的虚拟环境并实现对应代码补全

我完全懂你的困扰——终端里用虚拟环境跑脚本顺顺当当,到Jupyter Notebook里就找不到对应环境,好不容易弄出个kernel还绑定了全局Python路径,连代码补全都跟着乱套。别慌,咱们一步步把问题解决:

第一步:用虚拟环境自身注册Jupyter Kernel(核心解决路径错误问题)

你之前踩的坑是用全局的ipython来注册kernel,导致kernel默认绑定了全局Python路径。正确的姿势是让虚拟环境自己完成kernel注册:

  • 先在终端激活你的虚拟环境:
    source ~/envs/my-project-env/bin/activate
    
  • 在激活的环境里安装ipykernel(Jupyter识别虚拟环境的必备依赖):
    pip install ipykernel
    
  • 用虚拟环境内的Python执行kernel注册命令(这步是关键!):
    python -m ipykernel install --user --name=my-project-env --display-name="Python (my-project-env)"
    
    其中--display-name是给kernel起个好识别的名字,方便你在VS Code里快速找到它。

第二步:在VS Code中加载并选择正确的Kernel

  1. Cmd+Shift+P输入Reload Window重载VS Code窗口(或者直接重启软件)
  2. 打开你的test.ipynb,点击右上角的「Select Kernel」,就能看到刚才注册的Python (my-project-env)了,选中它就搞定环境匹配问题!

第三步:让Pylance代码补全同步虚拟环境

你之前已经把虚拟环境的Python解释器添加到VS Code了,只需再确认两步:

  • Cmd+Shift+P输入Python: Select Interpreter,选中你添加的my-project-env对应的Python路径(也就是~/envs/my-project-env/bin/python
  • 再次重载窗口,Pylance就会自动读取虚拟环境里的依赖包,给你精准的代码补全提示了。

(备选方案)修改已注册的错误路径Kernel

要是你之前已经用错误方法注册了kernel,不想重新操作,可以直接修改配置文件:

  1. 打开Mac上的kernel配置目录:~/Library/Jupyter/kernels/my-project-env/
  2. 编辑里面的kernel.json文件,把"argv"数组里的Python路径替换成虚拟环境的路径,示例如下:
    {
     "argv": [
      "/Users/你的用户名/envs/my-project-env/bin/python",
      "-m",
      "ipykernel_launcher",
      "-f",
      "{connection_file}"
     ],
     "display_name": "Python (my-project-env)",
     "language": "python"
    }
    
  3. 保存后重载VS Code,再选这个kernel就会指向正确的虚拟环境了。

这样操作下来,你的Jupyter Notebook就能和终端共用同一个虚拟环境,代码补全也能精准匹配环境内的依赖包啦~

备注:内容来源于stack exchange,提问作者Wassadamo

火山引擎 最新活动