解决64位系统Python2.7注册表缺失问题
本文介绍如何解决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位系统注册表的有效方案,供用户参考使用。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









