解决64位系统Python2.7注册表缺失问题

Leo
Leo
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍如何解决64位系统中Python2.7无法被注册表识别的问题,该问题常导致安装NumPy和SciPy时报错。通过运行提供的register.py脚本,可自动将Python路径写入注册表,确保相关库正常调用。

问题背景与现象

当在64位操作系统中遇到Python2.7无法被注册表正确识别的情况时,通常表现为安装NumPy或SciPy等依赖库时提示“python version 2.7 required, which was not found in register”错误。

注册表修复脚本使用方法

修复该问题的方法是创建一个名为“register.py”的脚本文件,将中的代码完整复制进去。随后通过PowerShell执行“python register.py”命令,若终端输出“Python 2.7 is now registered!”即表示注册成功。


import sys
 
from _winreg import *
 
# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
 
regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
  installpath, installpath, installpath
)
 
def RegisterPy():
  try:
    reg = OpenKey(HKEY_CURRENT_USER, regpath)
  except EnvironmentError as e:
    try:
      reg = CreateKey(HKEY_CURRENT_USER, regpath)
      SetValue(reg, installkey, REG_SZ, installpath)
      SetValue(reg, pythonkey, REG_SZ, pythonpath)
      CloseKey(reg)
    except:
      print "*** Unable to register!"
      return
    print "--- Python", version, "is now registered!"
    return
  if (QueryValue(reg, installkey) == installpath and
    QueryValue(reg, pythonkey) == pythonpath):
    CloseKey(reg)
    print "=== Python", version, "is already registered!"
    return
  CloseKey(reg)
  print "*** Unable to register!"
  print "*** You probably have another Python installation!"
 
if __name__ == "__main__":
  RegisterPy()

上述步骤提供了将Python2.7手动添加至64位系统注册表的有效方案,供用户参考使用。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表