在Win7 64位下安装PIL(Python图像库),Python 2.6.4

64 投票
10 回答
122754 浏览
提问于 2025-04-15 18:10

我正在尝试安装一个库,以便在Python中使用。我下载了Windows的可执行安装程序,运行后却提示找不到Python的安装。然后我尝试按照这个链接的说明(http://effbot.org/zone/python-register.htm)来注册Python,但脚本说无法注册(尽管注册表中有相关的键)。

接着我尝试下载源代码包:我运行了setup.py build,结果是成功的,但当我运行setup.py install时,它显示了以下内容:

running install
running build
running build_py
running build_ext
building '_imaging' extension
error: Unable to find vcvarsall.bat

我该怎么办呢?

更新(2014年5月): 根据一些评论和回答,PIL现在已经不再维护,推荐使用Pillow(https://pypi.python.org/pypi/Pillow/,可以用pip install pillow来安装)。

10 个回答

29

我刚遇到同样的问题(使用的是Python 2.7和PIL,不过这个解决办法也适用于2.6),解决这个问题的方法是把以下的注册表键值复制过来:

HKEY_LOCAL_MACHINE\SOFTWARE\Python

到这里:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python

这个方法对我有效。

这个解决方案是在下面的地址找到的,所以要感谢那里的内容: http://effbot.slinkset.com/items/Adding_Python_Information_to_the_Windows_Registry

117

我在这里找到了一个可以用的Windows 7版本的程序:Python扩展包的非官方Windows二进制文件。这个资源来自加州大学欧文分校的Christoph Gohlke。这里有适用于Python 2.5、2.6、2.7,3.1和3.2的32位和64位Windows版本。

这里还有很多其他已经编译好的软件包。

记得先卸载你旧的PIL(Python Imaging Library)。如果你是用easy_install安装的,可以用以下命令:easy_install -mnX pil
然后去删除python/Lib/site-packages里的那个egg文件。

确保删除任何其他失败的安装尝试。我之前把_image dll文件放到了Python*.*/DLLs里,后来也得把它删掉。

20

在Windows x64上编译PIL(Python Imaging Library)似乎有点麻烦。(其实在我看来,在Windows上编译任何东西都挺麻烦的。不过,还是说回PIL吧。)除了PIL本身,你还需要编译很多依赖的库。可以参考一下这个邮件列表的笔记

有一个非官方的预编译版本可以在x64上使用,链接在这条消息里,但我自己没有试过。如果你不介意从那些稍微不太靠谱的文件上传网站下载,试试看也许不错。除此之外……你也可以选择放弃,直接使用32位的Python版本。

撰写回答