摘要
- 如果想直接看到解决问题的关键点的话:请到总结部分。
问题出现:
??今天开始做一个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的。