我使用Python 2.7的可执行文件安装了PIL 1.1.7。但是当我运行这段代码时:
import requests
from PIL import *
def main() :
target = "http://target/image.php" #returns binary data for a PNG.
cookies = {"mycookie1", "mycookie2"}
r = requests.get(target, cookies=cookies)
im = Image.open(r.content) #r.content contains binary data for the PNG.
print im
if __name__ == "__main__" :
main()
它给出错误:
Traceback (most recent call last):
File "D:\Programming\Python\code\eg_cc1.py", line 17, in <module>
main()
File "D:\Programming\Python\code\eg_cc1.py", line 13, in main
im = Image.open(r.content)
NameError: global name 'Image' is not defined
我在Lib\site-packages
安装了PIL。
答案 0 :(得分:6)
使用
from PIL import Image
通过这种方式,您的代码将与Pillow向前兼容。另一方面,import Image
will not work with Pillow。
PIL的发展已于2011年年中停止,未经任何官方公告或解释。 Pillow是原始PIL的一个分支,并且正在积极开发。
答案 1 :(得分:5)
您需要显式导入Image模块:
>>> from PIL import *
>>> Image
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'Image' is not defined
>>> import PIL.Image
>>> Image
<module 'Image' from 'c:\Python27\lib\site-packages\PIL\Image.pyc'>
>>>
或者只是
>>> import Image
答案 2 :(得分:0)
如果
import Image
无效。 尝试:
from PIL import Image
PIL 中的所有软件包都存在兼容性问题。尝试手动下载PIL包以获取最新版本。 实际上在 Python 3.2版本中使用它,一切正常。