0

我开始了几次尝试让这个复杂的工作。正如在许多其他讨论中提到的那样,无法识别 micropython 模块,例如机器。也找不到像 numpy 这样的 Python 模块。

我认为,python 环境工作不正常,模块在那里但没有找到。但是,没有真正解决这个问题的建议或教程。我该如何设置?

到目前为止我做了什么:

  1. 根据教程手动安装所有组件

  2. 另一种方式:安装包含很多东西的pything编码包。

  3. Windows 路径具有组件的正确文件夹路径。

  4. 我在 vscode 中设置了明显正确的 python 解释器

  5. 与板的连接/通信正在工作。我可以设置不包含 micropython 模块的代码。

  6. 在 thonny/mu 等其他 IDE 中,可以找到模块。

  7. 我还安装了一个 python venv:我可以在这个 venv 中安装 numpy,后来当我在 vscode 中使用 venv python 作为解释器时,它在 vscode 中找到了(以前没有找到)。但是我在 venv 中使用 micropython 并不成功。

PS:我可以使用机器或网络等micropython模块并将草图上传到esp32板。它正在板上工作。但我无法在 vscode 中运行任何草图。我认为 Vscode 使用 cpython 而不是 micropython,但是在我提到的安装之后这不应该工作吗?

4

1 回答 1

1

听起来您混淆了您在运行 Visual Studio Code 的机器上安装的模块和您在 ESP32 上的 Micropython 中安装的模块。

他们是完全分开的。

Windows 机器上的 Python 可以使用 venv。

MicroPython 根本不使用 venv(MicroPython 显然有一个 venv 的克隆,但它的作用或为什么或如何使用它并不明显)。它是一个完全独立的 Python 实例,与您的 Windows 机器上的实例不同,它的运行方式也不相同。您在 venv 下安装的模块将不会被 MicroPython 看到或使用。特别是 Numpy 不适用于 MicroPython。

许多模块需要专门编写才能与 MicroPython 一起使用。MicroPython 没有在 Windows、MacOS 或 Linux 等强大的操作系统中运行。它运行在一个高度受限的环境中,缺乏这些操作系统的大部分功能,与它们相比,它的内存和存储空间极少。您不能期望为常规 Python 编写的模块只能在 MicroPython 上工作(同样,许多 MicroPython 模块使用 I2C 或 SPI 访问等硬件功能,这些功能在更强大的通用计算机上可能不可用)。

只有可用的模块可upip用于 MicroPython。它们需要安装在 ESP32 上运行的 MicroPython 实例中,而不是在 Windows 下运行的 Python 实例中。它们是两个完全独立的 Python 实例。

于 2021-05-24T00:00:37.250 回答