Python模块adafruit_pca9685导入失败排查求助
这种安装成功却找不到模块的情况确实很让人头疼,我整理了几个实用的排查方向,都是实际调试中遇到的高频问题:
确认Python与pip的环境匹配
很多时候问题出在「安装模块的pip」和「运行代码的Python」不是同一个环境。- 在树莓派上,运行
which python3和which pip3,检查输出的路径是否一致;在Windows上用where python和where pip。如果路径不一样,说明你用pip3装到了另一个Python环境里,自然找不到。 - 另外别忘了检查是否激活了虚拟环境:如果你的代码是在虚拟环境中运行,但用全局pip安装模块,也会出现这个问题。
- 在树莓派上,运行
查看模块的实际安装位置
运行pip3 show adafruit_pca9685,找到输出里的Location字段,这是模块被安装的路径。
然后打开Python交互环境,输入import sys; print(sys.path),看看刚才的Location路径是否在sys.path列表里。如果不在,说明这个路径没有被Python识别,大概率是环境不匹配导致的。检查安装过程的警告信息
重新运行sudo pip3 install adafruit_pca9685,仔细看输出内容,有没有红色警告或者提示(比如「权限不足,安装到用户目录」「路径不在Python的搜索路径中」)。这些警告往往会直接告诉你问题所在。避免sudo和普通用户pip混用
在树莓派上,用sudo pip3会把模块装到系统级Python环境,但如果你平时用的是普通用户的Python(比如默认的python3是用户目录下的),就会找不到模块。可以试试用pip3 install --user adafruit_pca9685(不加sudo)重新安装,这个命令会把模块装到当前用户的Python路径下,通常能解决权限和环境不匹配的问题。验证模块名称是否正确
虽然概率不高,但偶尔会出现「包名」和「导入模块名」不一致的情况。用pip3 show adafruit_pca9685确认Name字段是不是adafruit_pca9685,确保你导入时的拼写完全一致(注意大小写,Python模块名是区分大小写的)。清理缓存后重新安装
如果之前的安装有缓存损坏,也可能导致异常。先卸载模块:pip3 uninstall adafruit_pca9685,然后清理pip缓存:pip3 cache purge,最后重新安装试试。
内容的提问来源于stack exchange,提问作者ManOAction

