zoukankan      html  css  js  c++  java
  • 安装PIL遇到的问题

    配置:Win7 64位
    不过折腾到最后,没有使用PIL,官方的PIL很久木有更新了,换了Pillow,是PIL的衍生吧,一直有更新,但是两者不可在同一环境共存。
    1 Python version 2.7 required,which was not found in the registry.
    官方下载http://www.pythonware.com/products/pil/,安装PIL,出现如下错误提示,Python version 2.7 required,which was not found in the registry.

    解决方案:

    register.py
     1 import sys
     2   
     3 from _winreg import *
     4   
     5 # tweak as necessary
     6 version = sys.version[:3]
     7 installpath = sys.prefix
     8   
     9 regpath = "SOFTWARE\Python\Pythoncore\%s\" % (version)
    10 installkey = "InstallPath"
    11 pythonkey = "PythonPath"
    12 pythonpath = "%s;%s\Lib\;%s\DLLs\" % (
    13     installpath, installpath, installpath
    14 )
    15   
    16 def RegisterPy():
    17     try:
    18         reg = OpenKey(HKEY_CURRENT_USER, regpath)
    19     except EnvironmentError as e:
    20         try:
    21             reg = CreateKey(HKEY_CURRENT_USER, regpath)
    22             SetValue(reg, installkey, REG_SZ, installpath)
    23             SetValue(reg, pythonkey, REG_SZ, pythonpath)
    24             CloseKey(reg)
    25         except:
    26             print "*** Unable to register!"
    27             return
    28         print "--- Python", version, "is now registered!"
    29         return
    30     if (QueryValue(reg, installkey) == installpath and
    31         QueryValue(reg, pythonkey) == pythonpath):
    32         CloseKey(reg)
    33         print "=== Python", version, "is already registered!"
    34         return
    35     CloseKey(reg)
    36     print "*** Unable to register!"
    37     print "*** You probably have another Python installation!"
    38 
    39 if __name__ == "__main__":
    40     RegisterPy()
    将如上文件执行,进行注册,之后再尝试安装,成功。
     
    2 DLL load failed:%1不是有效的Win32应用程序
    但是之后在使用_imaging模块时又报错:
    DLL load failed:%1不是有效的Win32应用程序
    是因为安装的Python是64位,PIL却是32位,而官方发布的只有32位,找个非官方的64位安装。
     
    3 如何卸载目前安装的PIL
    在PIL安装路径下看到RemovePIL.exe文件,执行失败,提示:This program is normally started by Windoows。
    在该路径中可看到PIL-wininst.log,里面有记录卸载的命令,根据提示执行卸载命令即可。
     

    原因:

    python有64位的,pil官方只有32位的。安装时会提示找不到python的安装路径。

    64位Win7下无法安装PIL库的原因

    PIL官方http://www.pythonware.com/products/pil/提供的PIL二进制安装库都是32位的。

    64位程序和32位程序检测注册表的位置是不一样的:

    64-bit: HKEY_LOCAL_MACHINESOFTWAREPython

    32-bit: HKEY_LOCAL_MACHINESOFTWAREWow6432NodePython

    我安装的是Python2.7 x64版,所以相关信息是在 HKEY_LOCAL_MACHINESOFTWAREPython下面,32位程序在HKEY_LOCAL_MACHINESOFTWAREWow6432NodePython 下面找Python安装信息,肯定是找不到了。

    解决:

    幸好有人提供了非官方的64位库(官方源码编译版)。

    http://www.lfd.uci.edu/~gohlke/pythonlibs/

  • 相关阅读:
    C语言程序设计习题参考答案
    C语言程序设计 数据类型转换
    C语言程序设计 练习题参考答案 第二章
    计算机等级考试二级C语言考试复习五要点
    计算机等级考试二级快速复习法
    C语言程序设计 辗转相除法
    ReportViewer (RDLC) 中的换行符是什么
    关于axis2中对soapfault的处理的一个小bug
    java多线程中利用优先级来分配CPU时间的实例
    马云演讲
  • 原文地址:https://www.cnblogs.com/yichuan2014/p/5533816.html
Copyright © 2011-2022 走看看