如何在CircuitPython设备中安装并使用非Adafruit官方Python库?
在CircuitPython设备上安装非Adafruit第三方库的方法
先明确核心限制
CircuitPython是针对微控制器的精简Python环境,不是所有PyPI上的包都能直接用:
- 必须是纯Python实现(不能有C扩展,微控制器没有编译环境)
- 不能依赖桌面Python的完整标准库(比如
multiprocessing、subprocess这类CircuitPython不支持的模块) - 优先选择标注支持MicroPython/CircuitPython的库
方法1:手动筛选并放置库文件
如果你已经从PyPI或其他渠道下载了库:
- 解压下载的包,只保留实际运行需要的核心模块:也就是你代码里
import的那个.py文件或者同名文件夹(比如要装foo库,就留foo.py或foo/目录) - 把这些文件直接复制到CircuitPython设备的
lib文件夹里 - 多余的文件(比如
setup.py、README.md、测试用例)全部删掉,节省设备存储空间
方法2:用mpremote工具自动安装
circup只支持Adafruit官方库,但MicroPython官方的mpremote工具对CircuitPython兼容度很高,能自动拉取适配的第三方库:
- 先安装mpremote:
pip install mpremote - 把CircuitPython设备连接到电脑
- 运行命令安装目标库:
mpremote mip install <库名>- 例子:
mpremote mip install simplejson
- 例子:
- 工具会自动把适配的库文件放到设备的
lib文件夹,无需手动筛选
方法3:自行适配纯Python库
如果找不到现成适配的纯Python库:
- 把库的核心代码复制到设备的
lib文件夹,或者直接嵌入到你的主代码中 - 删掉代码中CircuitPython不支持的部分(比如依赖桌面系统的调用、未实现的标准库函数)
- 逐步测试运行,根据报错调整代码(比如用CircuitPython自带的
adafruit_requests替代标准库requests)
关键避坑点
- 不要盲目下载PyPI上的包,很多包依赖桌面Python的特性,CircuitPython根本跑不起来
- 优先找专门适配MicroPython/CircuitPython的库,这类库会针对微控制器的资源限制做优化
- 设备存储有限,尽量选择体积小、功能精简的库版本
内容的提问来源于stack exchange,提问作者Anders
相关产品推荐
相关产品推荐

