pip安装pyfirmata后Spyder运行报No module named 'pyfirmata'怎么办
问题根因
你遇到的ModuleNotFoundError: No module named 'pyfirmata'报错,核心原因是Spyder运行代码时调用的Python解释器,和执行pip3 install pyfirmata时的Anaconda解释器不属于同一个环境:你已经把pyfirmata安装到了Anaconda的c:\users\ta319\anaconda3\lib\site-packages路径下,但Spyder当前默认调用的是自身安装目录下的内置Python环境,路径为C:\Users\ta319\AppData\Local\Programs\Spyder\,该环境下没有安装pyfirmata,因此导入失败。
解决步骤
- 切换Spyder绑定的Python解释器到Anaconda环境
打开Spyder顶部菜单栏,依次进入Tools > Preferences > Python interpreter,选中Use the following Python interpreter选项,浏览文件选中Anaconda路径下的可执行文件c:\users\ta319\anaconda3\python.exe,点击Apply保存设置后重启Spyder即可生效。 - 若不想切换解释器,可直接给Spyder当前内置环境安装pyfirmata
打开Spyder底部的IPython控制台,执行如下命令,会自动调用当前环境的pip安装对应包:
等待安装完成后重新运行代码即可。import sys !{sys.executable} -m pip install pyfirmata - 修复测试代码的串口参数错误
你写的测试代码里串口名带了设备备注,pyfirmata无法识别,需要把初始化代码修改为:
否则即使包导入成功,也会出现串口连接失败的问题。board = pyfirmata.Arduino('COM4')
内容的提问来源于stack exchange,提问作者tomadam96
相关产品推荐
相关产品推荐

