尝试导入python模块会返回ModuleNotFound错误

时间:2020-05-12 21:03:08

标签: python python-3.6 webots

我正在尝试在Webots中使用numpy模块,但无论如何我都会得到

0.0.0.0:7766

我已经在numpy和pip2和pip3上都安装了numpy,但两者似乎没有任何区别,并且该软件包显示在INFO: assignment_2_controller_2: Starting controller: python3.6 -u "assignment_2_controller_2.py" [assignment_2_controller_2] Traceback (most recent call last): [assignment_2_controller_2] File "assignment_2_controller_2.py", line 4, in <module> [assignment_2_controller_2] import numpy [assignment_2_controller_2] ModuleNotFoundError: No module named 'numpy' WARNING: 'assignment_2_controller_2' controller exited with status: 1. 中。我还可以确认此模块可在python编辑器和其他python文件中正常工作。 在webots python Makefile中或在我的环境变量中是否可能需要更改某些内容?

编辑: 打印sys.path显示

~/.local/lib/python3.6/site-packages

我使用snap安装了webot,但是为什么不使用PATH环境变量指定的python?

修复: 从外观上看,snap创建了一个包含的文件系统,供设计用于在其中安装自己的python二进制文件的webots运行。因此,我用snap卸载了webot,然后从其网站的.deb文件安装了它,现在一切正常。

1 个答案:

答案 0 :(得分:1)

从Snap软件包安装的Webot在一种沙箱中运行,因此使用的是随Snap软件包分发的Python版本(您不能更改)。

如文档中所述,您可以使用外部控制器来启动自己的控制器,而不是让Webots启动它。这样,您可以选择要使用的Python版本:https://cyberbotics.com/doc/guide/installation-procedure#installing-the-snap-package

或者,您可以使用其他方式(从Debian或归档软件包)安装Webots。其他安装不是Python随附的,而是使用系统Python。