lap*_*pin 12 python django pip pillow
我正在加入一个项目,所以我想建立环境,所以我做的是:
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
这完全安装了所有要求,包括django 1.7.0,Pillow 2.4.0和其他一些.
然后我想构建数据库:
python manage.py migrate
Run Code Online (Sandbox Code Playgroud)
繁荣,错误,我得到以下:
CommandError: System check identified some issues:
ERRORS:
stu.chan.icon: (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".
stu.chan.image: (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".
stu.Piec.icon: (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".
Run Code Online (Sandbox Code Playgroud)
...就像我没有安装枕头.所以我检查了已安装的软件包(使用此技术),并Pillow 2.4.0安装了IS.
然后,我也试图强制重新安装: pip install --upgrade --force-reinstall Pillow==2.4.0
但是,无所事事,我在运行时遇到同样的错误migrate.
我正在使用python 3.4.0并django 1.7.0在mac OS X 10.6.7上virtualenv 1.11.6用pip降级为pip 1.2.1(由于pip和ssl 的一些众所周知但尚未完全解析也未理解的问题).
上面的所有代码都在virtualenv(bin/activate完成)中.
您对此问题的原因以及解决方法有什么想法吗?
- - - - - - 编辑 - - - - - -
当我运行上面的force-reinstall命令时,(这么多代码都被打败了,我不能把它全部粘贴掉)尽管它以"成功安装的枕头"完成,但代码中有一些警告:
building 'PIL._imaging' extension
(blabla code)
_imaging.c:975:13: warning: array index of '1' indexes past the end of an array (that contains 1 elements) [-Warray-bounds]
value = PyTuple_GET_ITEM(xy, 1);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/python3.4m/tupleobject.h:58:34: note: instantiated from:
#define PyTuple_GET_ITEM(op, i) (((PyTupleObject *)(op))->ob_item[i])
^
/usr/local/include/python3.4m/tupleobject.h:27:5: note: array 'ob_item' declared here
PyObject *ob_item[1];
^
1 warning generated.
(blabla code)
libImaging/Unpack.c:867:1: warning: unused function 'copy3' [-Wunused-function]
copy3(UINT8* out, const UINT8* in, int pixels)
^
1 warning generated.
Run Code Online (Sandbox Code Playgroud)
Pat*_*gan 20
我在使用Python 3.6.4的Mac上遇到了这个问题.解决方案是卸载Pillow 5.1.0,而不是安装5.0.0.
pip uninstall Pillow
pip install Pillow==5.0.0
Run Code Online (Sandbox Code Playgroud)
我试过了 :
我终于想通了我在这篇文章的精彩回答中描述的情况.换句话说,我正在运行一个mac,其CPU能够达到64位,但其内核固件设置为32位.这是一个问题,因为我正在研究的项目是为64位构建的.
正如在该帖子中所解释的,当你使用安装程序(DMG)安装python3时,如果内核设置为32位并且相应地安装32位版本的python 3,它将会嗅探.但是如果你只是从python的网站下载tarball源代码并安装它:
cd Python-3.4.1
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
然后应该安装64位版本的python3.您可以通过以下方式验证:
file /usr/local/bin/python3
/usr/local/bin/python3: Mach-O 64-bit executable x86_64
Run Code Online (Sandbox Code Playgroud)
这样做,所有问题都在使用这个64位版本的python3的virtualenv中的PIL/Pillow消失了.即使点数降级也没必要了.
我在使用 CLoudinary 实现图像上传时也遇到了同样的问题,但找到了上述答案,但以其他方式。
sudo pip uninstall PIL
sudo pip uninstall Pillow
sudo pip install Pillow
Run Code Online (Sandbox Code Playgroud)
之后我的问题就解决了!
| 归档时间: |
|
| 查看次数: |
23080 次 |
| 最近记录: |