我正在为 MacOS 上的 Google App Engine 开发 Python 应用程序,但在尝试为本地开发设置 PIL 时遇到了麻烦。我在 virtualenv 中运行 Python 2.5,我还使用 pip 在 virtualenv 中安装了 PIL 1.1.7:
pip install PIL
我可以在 python 解释器中导入它,一切似乎都很好,但是当它被 App Engine SDK 使用时,会引发以下错误:
File "/Users/user/Development/src/virtualenv/lib/python2.5/site-packages/PIL/PngImagePlugin.py", line 564, in _save
SystemError: Parent module 'PIL' not loaded
PIL导入ICCProfile时似乎会出现此错误,但它也应该被except捕获并正确处理。这是来自 PngImagePlugin.py 的代码:
try:
import ICCProfile
p = ICCProfile.ICCProfile(im.info["icc_profile"])
name = p.tags.desc.get("ASCII", p.tags.desc.get("Unicode", p.tags.desc.get("Macintosh", p.tags.desc.get("en", {}).get("US", "ICC Profile")))).encode("latin1", "replace")[:79]
except ImportError:
name = "ICC Profile"
在搜索解决方案时,我得到的建议是我应该创建带有 PIL 路径的 PIL.pth 文件,但是该文件已经存在于 site-packages 文件夹中的 virtualenv 中,并且文件的内容是:
PIL
有没有人对如何修复它有任何建议,或者我还能尝试什么?