在Win7 64位下安装PIL(Python图像库),Python 2.6.4
我正在尝试安装一个库,以便在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 个回答
我刚遇到同样的问题(使用的是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
我在这里找到了一个可以用的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里,后来也得把它删掉。