Ubuntu系统下Webots Python控制器无法导入第三方库求助
在Webots控制器中导入第三方Python库的解决方案
我懂你这种头疼的感觉——Ubuntu系统里明明已经装了NumPy、matplotlib这些库,结果Webots的控制器代码就是死活导不进来,报ModuleNotFoundError对吧?这核心问题其实是Webots默认用的是它自带的独立Python解释器,和你系统里装的不是同一个环境。下面给你两个实用的解决办法:
方法一:让Webots使用你的系统Python环境
这是最省心的办法,直接让Webots调用你已经配置好库的系统Python:
- 打开Webots,点击顶部菜单栏的
Tools→Preferences - 在弹出的设置窗口里切换到
Python标签页 - 找到
Python command输入框,把里面默认的路径替换成你系统Python的路径(比如/usr/bin/python3,如果用了虚拟环境就填虚拟环境里的python路径,比如~/venv/bin/python3) - 点击
OK保存设置,重启Webots后再运行你的控制器代码,应该就能正常导入库了
方法二:给Webots自带的Python安装需要的库
如果你不想改动Webots的默认Python设置,可以直接给它自带的解释器安装库:
- 先找到Webots自带Python的位置,通常在Webots安装目录的
lib/pythonX.X文件夹下(X.X对应Python版本,比如3.8) - 打开终端,用这个Python对应的pip来安装库,举个例子:
记得把/opt/webots/lib/python3.8/site-packages/pip install numpy matplotlib/opt/webots换成你自己的Webots实际安装路径
验证方法
可以写个简单的测试代码确认是否生效:
from controller import Robot import numpy as np robot = Robot() print("NumPy版本:", np.__version__)
如果能正常打印出NumPy的版本号,就说明配置成功了
你的代码示例:
from controller import Robot, DistanceSensor, Motor, CameraSupervisor,Node import random import numpy as np报错信息:
ModuleNotFoundError: No module named 'numpy'
内容的提问来源于stack exchange,提问作者Mohammad Abdeh
相关产品推荐
相关产品推荐

