当已经安装了Pillow时,仍然报错:because Pillow is not installed.

摘要

  • 如果想直接看到解决问题的关键点的话:请到总结部分。

问题出现:

今天开始做一个django的项目,模型类中有使用ImageField这个字段,这个字段需要依赖一个包也就是:Pillow。我按照提示已经装了这个包了,可视仍然报错,错误类似是:

ERRORS:
users.UserProfile.image: (fields.E210) Cannot use ImageField because Pillow is not installed.
        HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "pip install Pillow".

处理过程:

我尝试了很多方法,也百度了很多,尝试方法如下:

  • 查看pycharm的环境配置中有没有pillow,如果没有就搜索并添加。
  • 卸载pillow,并将小写字母p换为大写的,重新装一下
  • 重新配置环境
  • 重启

对于我而言:以上都没用。

问题解决:

1、我仔细的想了一下,我之前的项目从来都没有出过这种问题啊,然后我就联想到我的虚拟环境是怎样产生和应用的了。之前我都是使用pip去装虚拟环境的,自从用了conda之后,我便使用conda命令了,所以在装包的时候也是用的conda,会不会是conda的问题?所以我换了pip尝试。可惜的是这次仍然没有解决。
2、但是问题确实还在这里,我仔细的回忆了一下,直觉告诉我应该是是镜像源的问题,然后我又把已经装好的Pillow卸载了,使用豆瓣的镜像源试了一下:解决问题。

总结

  • 我的conda和pip使用的镜像都是清华镜像,所以可能有些我不理解的bug(镜像怎么还能出问题?)
  • 在包的安装中我们需要注意很多问题。
    • 各个包版本呼应关系
    • 包的版本号
    • 命令形式(yum,conda,pip)
    • 镜像源

最后解决方法是:切换镜像源。

pip install -i https://pypi.douban.com/simple/ Pillow

这次经历还证明了一个小知识:在conda虚拟环境中,是可以同时使用conda和pip的。


版权声明:本文为rusi__原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。