May*_*mar 5 python python-imaging-library python-requests
我使用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()
Run Code Online (Sandbox Code Playgroud)
它给出了错误:
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
Run Code Online (Sandbox Code Playgroud)
我安装了PIL Lib\site-packages.
使用
from PIL import Image
Run Code Online (Sandbox Code Playgroud)
通过这种方式,它将起作用,并且您的代码将与Pillow向前兼容.在另一方面,import Image 将不与枕头工作.
PIL的开发已于2011年中期停止,未经任何正式公告或解释.Pillow是原始PIL的一个分支,并且正在积极开发.
您需要显式导入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'>
>>>
Run Code Online (Sandbox Code Playgroud)
要不就
>>> import Image
Run Code Online (Sandbox Code Playgroud)
小智 5
如果
import Image
Run Code Online (Sandbox Code Playgroud)
不管用。尝试:
from PIL import Image
Run Code Online (Sandbox Code Playgroud)
PIL中的所有包都存在兼容性问题。尝试手动下载 PIL 包以获得最新版本。实际上在Python 3.2 版本中使用过这个,一切都工作正常。