树莓派虚拟环境下Pillow已安装但Django仍提示未安装如何解决
问题排查与解决方案
核心原因分类
- 执行
python manage.py makemigrations时调用的Python解释器与安装Pillow、Django的虚拟环境解释器不匹配 - 树莓派ARM架构下Pillow安装时缺少必要的系统依赖,虽然pip显示安装成功,但核心功能模块无法正常导入,Django检测时判定Pillow未安装
- 项目迁移文件缓存导致的异常报错
排查步骤
- 验证虚拟环境下Pillow能否正常导入
激活虚拟环境后执行以下命令:
python -c "import PIL;print(PIL.__version__)"
如果抛出导入错误,直接判定为Pillow安装不完整。
2. 确认解释器路径匹配
执行以下命令查看当前调用的Python和pip路径:
which python which pip
返回路径需要均为/home/pi/Django/DjangoEnv/bin/下的文件,否则说明解释器调用错误。
3. 检查命令拼写
确认你执行迁移时用的是python manage.py makemigrations而非python3 manage.py makemigrations,树莓派系统全局默认的python3指向系统自带的Python解释器,不会读取虚拟环境内的安装包。
解决方法
- 解释器不匹配的情况:激活虚拟环境后统一使用
python前缀执行相关命令,或直接指定虚拟环境解释器路径执行:
/home/pi/Django/DjangoEnv/bin/python manage.py makemigrations
- Pillow安装不完整的情况:先安装系统依赖,再重装Pillow:
# 安装树莓派下Pillow所需系统依赖 sudo apt update sudo apt install -y libjpeg-dev zlib1g-dev libfreetype6-dev libopenjp2-7-dev libtiff5-dev # 重装Pillow pip uninstall -y pillow pip install pillow==8.3.1
- 缓存异常的情况:删除项目对应app下
migrations目录中除__init__.py之外的所有文件,再重新执行迁移生成命令。
内容的提问来源于stack exchange,提问作者li_ba
相关产品推荐
相关产品推荐

