我刚开始了一个新的Django项目,当我尝试制作迁移时,我收到一个错误,说我必须安装枕头,而我已经安装了枕头。
ERRORS:
shop.ProductImages.product_img: (fields.E210) Cannot use ImageField because Pillow is not installed.
HINT: Get pillow at https://pypi.python.org/pypi/Pillow or run command "pip install pillow".
当我运行pip freeze时,我可以看到Pillow已经安装:
Pillow==2.7.0
我现在使用的是Python 3.4.3和Django 1.8,而在使用Python 2.7的时候就没有这个问题。
更新:
当我尝试从我的virtualenv外部的PIL导入图像时,一切正常,但当我尝试在virtualenv中导入时,我得到了这个:
Traceback (most recent call last):
Fille "<stdin>", line 1, in <module>
File "C:\Python27\Lib\site-packages\PIL\Image.py", line 63, in <module>
from PIL import _imaging as core
ImportError: DLL load failed: The specified module could not be found.
我把python2安装在我的virtualenv之外,那么这是否意味着python没有在我的virtualenv\Lib\site-packages中查找呢?我刚刚注意到,当我运行pip freeze时,我会得到一个安装在我的系统上的包的列表,而不是在virualenv中,而且当我试图安装一些已经安装在我的系统上的东西时,我必须运行pip--upgrade。
3条答案
按热度按时间ztmd8pv51#
我用
easy_install --upgrade pillow
解决了这个问题,如果我想在virtualenv中安装一些我系统上已经有的包,我可以只使用pip <name of package> --upgrade
。如果有人对此问题有解释和更好的解决方案,请让我知道!wmvff8tz2#
发生这种情况是因为您安装了多个Python版本。请卸载其他Python版本,并在最新Python版本上安装Pillow。
bqf10yzr3#
不,伙计,我安装了一个版本的Python(Python 3),我也遇到了同样的问题,但我尝试了他们的解决方案,效果很好。