我正在尝试将一个python程序从osx移植到windows7。 这个程序用tkinter处理一个png 例如
self.logoImg = ImageTk.PhotoImage(Image.open('GrowthPathLogo.png'))
代码失败 IOError:解码器zip不可用
我试过用pypm安装pip。 然后我试着用pip构建它。 在构建过程的最后,它报告说不支持png/zlib
我也有同样的错误python.org网站在Windows上安装。在
我被卡住了,我不擅长构建C库。我也不知道皮普是怎么工作的。我安装了一个gnuzlib库,但它一点帮助也没有。我安装了Visual C++ 2008 Express,至少这是工作的,因为PIP确实成功地编译了东西。在
尝试由Christoph Gohlke维护的构建here。为了自己构建PIL,您需要自述文件中提到的几个库:libjpeg、zlib、freetype2和littleCMS。阅读用法.txt在{a2}中,用VisualC++或MinGW链接到ZLIB的指令。在
我知道这是一个老问题,但我想给出我的答案,以防人们遇到与我相同的问题。在
克里斯托夫·高尔克的建筑非常棒,当他们工作的时候。 但是,对于我的win7机器,python2.7和最重要的64位,没有预编译的二进制文件支持PNG(zlib支持)。该页面上的Pillow 64位二进制文件在easy帴install上失败,无法安装在我的机器上。在
因此,如果你想解决这个问题,而二进制文件不起作用,你需要用zlib支持构建自己的枕头。要做到这一点,你需要下载最新的枕头来源。 在中修改设置.pyZLIB_根行表示:
现在您还必须为win64位构建zlib,这是比较棘手的部分。 从他们的站点下载最新的zlib源代码(我在1.2.5/1.2.8上测试过)。 64位提示(非常重要的visual studio命令) 我的命令提示符名为VS2012 x64 Cross-Tools命令提示符。在
转到zlib source dir并运行:
^{pr2}$如果不起作用,请尝试:
现在,源目录中应该有以下文件:
把它们复制到Pillow源目录,一个名为“zlib”的目录中 使用
"python setup.py build_ext -i"
编译枕头 使用"python setup.py install"
安装枕头枕头现在应该与ZLIB(png)支持一起工作。 如果您有一些旧的枕头/PIL安装,您可能需要手动复制_成像.pyd以及_imagingmath.pyd到python或虚拟环境的包安装文件夹中,以确保有新编译的包。在
现在您可以导入图像,并支持png。在
您也可以用同样的方法添加Libjpeg,如果需要,可以手动编译它。在
希望这能帮助任何遇到这个问题的人。在
相关问题 更多 >
编程相关推荐