Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows上安装Python2.7版zlib?_Python_Windows_Python 2.7_Zlib_Pillow - Fatal编程技术网

如何在Windows上安装Python2.7版zlib?

如何在Windows上安装Python2.7版zlib?,python,windows,python-2.7,zlib,pillow,Python,Windows,Python 2.7,Zlib,Pillow,我正在尝试运行一个调用PIL(通过枕头)的Python脚本。这个脚本在我的MacBook上运行得很好,但我希望它也能在Windows上运行。我得到一个错误“解码器zip不可用”(见下面的完整输出)。通过搜索web,我下载了zlib并重新安装了Pillow(如中所述)。不幸的是,我得到了同样的错误 我的问题是: 如何/在何处安装zlib?我下载了一个zip文件,在zlib网站或其他地方都找不到任何方向。我试着用枕头将解压后的zlib文件夹放在Python站点包文件夹中 我是否遗漏了会发出错误消息的

我正在尝试运行一个调用PIL(通过枕头)的Python脚本。这个脚本在我的MacBook上运行得很好,但我希望它也能在Windows上运行。我得到一个错误“解码器zip不可用”(见下面的完整输出)。通过搜索web,我下载了zlib并重新安装了Pillow(如中所述)。不幸的是,我得到了同样的错误

我的问题是:
如何/在何处安装zlib?我下载了一个zip文件,在zlib网站或其他地方都找不到任何方向。我试着用枕头将解压后的zlib文件夹放在Python站点包文件夹中

我是否遗漏了会发出错误消息的其他内容?我很惊讶安装枕头有多么困难

使用Windows7,Python2.7,目前已经从zip文件安装了Pizzle 2.7.0

脚本:(基本上它应该在窗口中打开一个图像,并允许用户在图像上绘制矩形)

将Tkinter作为tk导入
从Tkinter进口*
导入tkMessageBox
从PIL导入ImageTk,图像
导入子流程
作物区=[]
path=“D:/Temp/OCR\u测试/k11ps\u V5\u 2”
类ImageCanvas(框架):
#此类创建Tkinter画布并显示第一个视频帧抓取
定义初始(自我,主):
帧。\uuuu初始化(自,主)
self.grid_rowconfigure(0,权重=1)
self.grid\u column配置(0,权重=1)
self.canvas=canvas(self,宽度=720,高度=480,bd=0,highlightthickness=0)
self.canvas.grid(行=0,列=0,sticky='nsew',padx=4,pady=4)
ImgTk类(tk.tk):
#此功能要求用户选择第一个视频帧抓取中包含OCR数据的部分
#数据字段位置的坐标保存为全局变量,以传递给脚本的其余部分
定义初始化(自):
tk.tk.\uuuuu初始化(self)
tkMessageBox.showinfo(
message=“在下图中,在所需字段上绘制矩形:\n按此顺序绘制纬度、经度、日期、时间和其他。\n完成后关闭图像窗口”)
self.main=ImageCanvas(self)
self.main.grid(行=0,列=0,sticky='nsew')
self.c=self.main.canvas
self.currentImage={}
self.load_imgfile(路径+'/images/0029.png')
self.c.bind(“”,self.click_down)
self.c.bind(“”,self.click_-drag)
self.c.bind(“”,self.矩形)
def load_imgfile(自身,文件名):
self.img=Image.open(文件名)
self.currentImage['data']=self.img
self.photo=ImageTk.PhotoImage(self.img)
self.c.xview_moveto(0)
self.c.yview_moveto(0)
self.c.create_image(0,0,image=self.photo,anchor='nw',tags='img'))
self.c.config(scrollregion=self.c.bbox('all'))
self.currentImage['photo']=self.photo
self.title(“绘制矩形”)
def向下单击(自身、事件):
self.anchor=(event.widget.canvasx(event.x),
event.widget.canvasy(event.y))
self.item=None
def点击拖动(自身、事件):
选中的_box=self.anchor+(event.widget.canvasx(event.x)、event.widget.canvasy(event.y))
如果self.item为无:
self.item=event.widget.create_矩形(选中的_框,outline=“red3”,width=2.1)
其他:
event.widget.coords(self.item,*selected_框)
def矩形(自身、事件):
如果是self.item:
单击并拖动(事件)
box=event.widget.coords(self.item))中v的元组((int(round(v)))
roi=self.currentImage['data'].crop(框)#感兴趣区域
lat=roi.size[0],':',roi.size[1],':',框[0],':',框[1]
lat=str(lat)
横向=横向替换(',','')
横向=横向替换(“”,“”)
横向=横向替换(“”,“”)
全球作物种植区
裁剪区域。附加(lat)
app=ImgTk()
app.mainloop()
错误消息:

Traceback (most recent call last):
  File "D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py", line 81, in <module>
    app = ImgTk()
  File "D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py", line 37, in __init__
self.load_imgfile(path + '/images/0029.png')
  File "D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py", line 47, in load_imgfile
self.photo = ImageTk.PhotoImage(self.img)
  File "build\bdist.win-amd64\egg\PIL\ImageTk.py", line 115, in __init__
self.paste(image)
  File "build\bdist.win-amd64\egg\PIL\ImageTk.py", line 165, in paste
im.load()
  File "build\bdist.win-amd64\egg\PIL\ImageFile.py", line 200, in load
d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
  File "build\bdist.win-amd64\egg\PIL\Image.py", line 417, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder zip not available
回溯(最近一次呼叫最后一次):
文件“D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py”,第81行,在
app=ImgTk()
文件“D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py”,第37行,在初始化中__
self.load_imgfile(路径+'/images/0029.png')
文件“D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py”,第47行,在load_imgfile中
self.photo=ImageTk.PhotoImage(self.img)
文件“build\bdist.win-amd64\egg\PIL\ImageTk.py”,第115行,在__
自粘贴(图像)
文件“build\bdist.win-amd64\egg\PIL\ImageTk.py”,第165行,粘贴
im.load()
文件“build\bdist.win-amd64\egg\PIL\ImageFile.py”,第200行,正在加载
d=图像。_getdecoder(self.mode,d,a,self.decoderconfig)
文件“build\bdist.win-amd64\egg\PIL\Image.py”,第417行,在_getdecoder中
raise IOError(“解码器%s不可用”%decoder\u name)
IOError:解码器zip不可用
这些模块似乎可以正常工作,也就是说,我可以毫无错误地调用它们。

zlib位于NDK中


我也有同样的问题。我有一张便条8(三星)。只需转到GitHub并从那里安装zlib,然后就可以安装枕头了。

为什么要使用枕头2.7.0?我在Windows7机器上安装了Python2.7.13和Pillow3.3.0,没有zlib问题。尝试从命令行使用
pip install Pillow
,以获取最新版本和依赖项。我尝试使用Pillow 2.7.0,因为这是我在软件包索引页上找到的唯一一个可以在我的系统上安装的版本(不确定为什么),这个版本是唯一一个zip格式的版本,并且最终成为安装它的唯一途径。我尝试了
pip-install-Pillow
,但发现
找不到满足Pillow要求的版本(来自版本:)找不到与Pillow相匹配的发行版
在martineau的评论后尝试使用Pillow 3.3.0重新安装,并获得了
ValueError:zlib是必需的,除非明确禁用
pip是否可以安装zlib?我刚刚尝试了
pip安装zlib
,但得到了与我上次评论相同的错误。该部分说:“我们为Windows提供枕边二进制文件,这些二进制文件是为32位和64位受支持的Python矩阵编译的
Traceback (most recent call last):
  File "D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py", line 81, in <module>
    app = ImgTk()
  File "D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py", line 37, in __init__
self.load_imgfile(path + '/images/0029.png')
  File "D:/Scripts/DaileyScripts/Python/OCR/PIL_test.py", line 47, in load_imgfile
self.photo = ImageTk.PhotoImage(self.img)
  File "build\bdist.win-amd64\egg\PIL\ImageTk.py", line 115, in __init__
self.paste(image)
  File "build\bdist.win-amd64\egg\PIL\ImageTk.py", line 165, in paste
im.load()
  File "build\bdist.win-amd64\egg\PIL\ImageFile.py", line 200, in load
d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
  File "build\bdist.win-amd64\egg\PIL\Image.py", line 417, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder zip not available