树莓派安装Python模块报错:ImportError(dlib、imutils)
解决树莓派上Python无法导入已安装的dlib/imutils问题
这种包安装后无法导入的情况,大概率是Python版本不匹配或者环境路径不一致导致的,我给你几个针对性的解决办法:
1. 检查Python版本与pip的匹配性
树莓派默认同时存在Python2和Python3,很可能你用pip安装的包是给Python2准备的,但你运行的是Python3(或者反过来)。
- 先确认当前运行的Python版本:
python --version - 再确认pip对应的Python版本:
pip --version - 如果版本不匹配(比如你用的是Python3),就用对应版本的pip重新安装:
之后用pip3 install dlib imutilspython3启动终端尝试导入:import cv2 import dlib import imutils
2. 排查虚拟环境影响
如果你之前用过虚拟环境(比如venv、virtualenv),可能包安装在了全局环境,但你运行Python时激活了虚拟环境,导致找不到包。
- 先检查是否处于虚拟环境:看终端提示符前有没有虚拟环境名称(比如
(myenv)),如果有,先退出虚拟环境:
然后再运行Python尝试导入。deactivate - 如果需要在虚拟环境里使用这两个包,激活虚拟环境后重新安装:
source your_env/bin/activate # 替换成你的虚拟环境路径 pip install dlib imutils
3. 验证包的安装路径与Python的搜索路径
有时候包安装的路径不在Python的默认搜索路径里,导致无法导入。
- 先查看dlib的安装路径:
找到输出里的pip show dlibLocation字段,比如/home/pi/.local/lib/python3.7/site-packages。 - 然后在Python里查看当前的搜索路径:
import sys print(sys.path) - 如果
Location里的路径不在sys.path中,可以临时添加路径测试:
如果能成功导入,说明可以用import sys sys.path.append("/home/pi/.local/lib/python3.7/site-packages") # 替换成你的dlib安装路径 import dlibpip install --user重新安装到用户目录(这个路径默认会在sys.path里):pip install --user dlib imutils
4. 权限问题排查
如果之前用sudo pip安装了包,可能包的权限导致普通用户无法访问。可以尝试卸载后用普通用户权限重新安装:
sudo pip uninstall dlib imutils pip install --user dlib imutils
内容的提问来源于stack exchange,提问作者DanielC
相关产品推荐
相关产品推荐

