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

VS Code中Jupyter Notebook运行VPython报模块找不到错误求助

解决ModuleNotFoundError: No module named 'vpython.with_notebook'问题

1. 先搞定核心错误

确认VPython的正确安装

直接用新版VPython,旧版的兼容问题多,官方现在统一用这个命令安装:

pip install vpython

别装vpython-jupyter这类旧包,新版已经整合了Jupyter支持,不需要单独装分支版本。

检查VS Code的Python环境

VS Code经常会串环境,按这两步来:

  • 按Ctrl+Shift+P打开命令面板,输入Python: Select Interpreter,选你刚装了VPython的那个环境(不管是系统Python还是虚拟环境)。
  • 重启Jupyter内核,确保运行代码用的是选中的环境。

修复代码里的冗余问题

你的代码里重复创建了scene、sun、s这些元素,不仅会导致运行混乱,还可能触发VPython的加载异常,删掉重复部分,只保留一次初始化:

from vpython import *
from numpy import sqrt, array
from matplotlib.pyplot import plot, show

# 常量定义
G = 6.674e-11
M = 1.989e30

# 微分方程组函数
def f(r):
    x, y, vx, vy = r
    r3 = (x*x + y*y)**1.5
    fx = vx
    fy = vy
    fvx = -G*M*x / r3
    fvy = -G*M*y / r3
    return array([fx, fy, fvx, fvy], float)

# 初始条件
x0 = 4e12
y0 = 0
vx0 = 0
vy0 = 500
r = array([x0, y0, vx0, vy0], float)

# 初始化VPython场景(只执行一次)
scene = canvas(width=400, height=400, center=vector(x0/2, 0, 0))
scale = 5e7
rs = 1400
mc = 10
# VPython颜色值是0-1范围,不是0-255,改成浮点数
sun = sphere(pos=vector(x0/30, 0, 0), radius=rs*scale, color=vector(1, 1, 0))
s = sphere(pos=vector(x0, y0, 0), radius=50*mc*scale)
framerate = 100

# 注意:你当前代码里没定义xpp、ypp,需要先补充微分方程求解代码生成这两个数组
# 示例(假设已经求解得到xpp和ypp)
i = 1
while i < len(xpp):       
    rate(framerate)
    s.pos = vector(xpp[i], ypp[i], 0)
    i += 1

另外注意:VPython的color参数是0到1的浮点数,不是0-255,原来的vector(255,250,0)会导致颜色显示异常,改成vector(1,1,0)才是正确的黄色。


为什么VPython安装会有这么多坑?

  1. 版本迭代的兼容断层:旧版VPython(7.x之前)依赖vpython.with_notebook模块做Jupyter集成,新版重构后直接移除了这个模块,如果新旧版本混装,必然会出现找不到模块的错误。
  2. VS Code的环境隔离问题:Jupyter在VS Code里经常自动切换Python环境,你在终端装了VPython,但Jupyter用的是另一个虚拟环境,自然找不到包。
  3. 前端依赖冲突:VPython需要在Jupyter中加载前端渲染组件,Jupyter Lab/Notebook的不同版本对前端扩展的支持差异很大,比如新版Jupyter Lab 4.x和旧版VPython的前端组件完全不兼容,容易加载失败。
  4. 网络导致的安装不完整:安装VPython时会自动拉取前端依赖包,如果网络不好,这些依赖可能安装残缺,运行时就会触发各种模块找不到的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:53:30