首页 > 解决方案 > 无法使用 upip 在 esp32 上安装 uasyncio 包

问题描述

我一直在 ESP32-WROOM-32D 上使用 uasyncio。在所有测试之后,我试图将固件用于我的其他板,但默认情况下,uasyncio 没有与 micropython 一起安装。我试图通过

>rshell -p comX 
>repl
>>> import upip
>>> upip.install('micropython-uasyncio')

但出现以下错误:

Installing to: /lib/
Error installing 'micropython-uasyncio': list index out of range, packages may be partially installed

请帮忙!

标签: pypiesp32micropython

解决方案


这很可能是网络错误。我追踪了同样的错误,发现usocket.getaddrinfo未能返回合理的地址,导致 upip 模块中的列表超出范围异常(https://github.com/micropython/micropython/blob/master/tools/upip.py# L136 )。

使用以下命令检查您的网络配置:

import network
network.WLAN(network.STA_IF).ifconfig()

如果设置不正确,请通过使用 4 个地址(ip、掩码、网关、dns)的元组调用ifconfig来确保您有合理的设置:

network.WLAN(network.STA_IF).ifconfig(("192.168.1.101", "255.255.255.0", "192.168.1.1", "8.8.8.8"))

推荐阅读