我在不同服务器上的许多项目中使用过Photologue,之前从未遇到过这个问题。
当Photologue调用此功能时
self.create_size(photosize)
我收到此错误
UnsupportedOperation('fileno',)
我搜索了答案,发现它可能是由PIL和Pillow都安装在服务器上引起的。
我在我的服务器上使用virtualenv和no-site-packages选项但似乎在mod_wsgi下它仍然读取系统包。我可以在我的virtualenv下顺利安装和卸载PIL,但是当我卸载PIL并运行pip冻结系统时,我仍然会看到这个。
pip freeze
....
PIL==1.1.7
...
即使我在virtuallenv和我的系统上卸载Pillow,我仍然会收到相同的错误,这让我觉得Photologue使用的是PIL而不是Pillow。有没有办法从系统中卸载PIL或强制Photologue使用Pillow而不是PIL?
我的系统: Ubuntu 12.04.1 LTS Python 2.7.3 Apache mod_wsgi
答案 0 :(得分:1)
我已经通过从系统软件包中删除PIL lib来解决这个问题,因为即使我在virtualenv中运行我的项目,它仍然在系统软件包中安装了PIL。这样做时应该谨慎,因为系统上的某些其他程序或项目可能依赖于它。