pypi - 无法使用 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
请帮忙!
解决方案
这很可能是网络错误。我追踪了同样的错误,发现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"))
推荐阅读
- python - 使用 TensorFlow 进行对象检测器训练
- sas - 使用 SAS EG 邮寄
- symfony - 带有vue表单渲染的symfony api?
- oracle - oracle apex 登录问题(ORDS 无法连接到数据库)
- android - 为什么发布 .apk 小于调试 .apk
- php - 购买后需要修复我的 php 代码以重定向到不同的页面,具体取决于 woocommerce 中的 con 类别产品
- python - 切换键:值列表以将值作为键?
- javascript - 根据每个创建具有不同变量/值的数组身份证和班级
- svelte - Svelte 自定义元素 API
- javascript - 无法在订阅主体内的 setState 挂钩中调用先前状态的对象方法