我无法安装numpy,因为它找不到python 2.7,虽然我已经安装了python.
我有消息:"需要Python版本2.7,在注册表中找不到"
有解决我的问题吗?
RMW*_*aos 54
这对于依赖或寻找以前安装的64位核心应用程序(例如Python x64)的安装程序(例如Numpy)来说并不罕见.问题和解决方案很容易解释.
问题 恕我直言这是已经安装的64位应用程序的开发人员的一个错误,通过将注册表项放在32位节点而不是(或除了)64位节点.实际上,安装程序的开发人员也可以对其进行编码以查看两个位置,而不是仅仅假设64位应用程序注册表项将位于\ Wow6432Node中,以避免原始开发人员的疏忽问题.但是,如果安装程序根据注册表项的位置决定应用程序是32位还是64位(这不是一个好主意),这可能会有问题.
有时使用64位应用程序将在...中创建一个注册表项
HKLM\SOFTWARE\[applicaion name]
Run Code Online (Sandbox Code Playgroud)
但是,不会在...中创建相应的注册表项
HKLM\SOFTWARE\Wow6432Node\[application name]
Run Code Online (Sandbox Code Playgroud)
解决方案 使用任何应用程序解决此问题的最简单方法是...
现在,您应该在HKLM\SOFTWARE\[应用程序名称]和HKLM\SOFTWARE\Wow6432Node\[应用程序名称]中有重复的条目.或者,您可以手动创建下HKLM\SOFTWARE\Wow6432Node \所有缺少的条目[应用程序了名]匹配的是在HKLM\SOFTWARE\[应用程序名称],但这是真正的周围很长的路要走.
当您重新运行Numpy安装程序时,它现在将正确检测您的64位Python安装.
CAVEAT 所有这一切都有一个警告.
HKLM\SOFTWARE和HKLM\SOFTWARE\Wow6432Node中的重复条目不是问题,不会影响应用程序的正常运行; 但是,由于开发人员错过了创建Wow6432Node注册表项,因此修改注册表项的任何未来更新都不可能在两个位置填充.您可能偶尔需要再次执行此操作或手动将新的注册表项添加到Wow6432Node以保持它们的一致性.您可能遇到的一个示例是安装Python模块,在HKLM\SOFTWARE\Python\PythonCore\2.x\Modules \下添加一个条目.您只能导出添加的条目并编辑.reg文件以仅包含"\ Wow6432Node",导出整个\ Python节点并编辑所有条目(导入已编辑的.reg文件将覆盖现有条目),或者只需手动添加新条目进入 - 对你来说似乎更简单.
小智 7
此问题还会影响32位Python上的32位numpy.
原因是numpy安装程序假定您在安装Python时选择" 为所有用户安装 ",即Python安装程序使用注册表的机器范围的HKEY_LOCAL_MACHINE部分.如果您选择" 仅为我安装 ",则这些注册表设置位于注册表的用户可写部分,*HKEY_USERS_*(又名HKEY_CURRENT_USER).numpy安装程序看起来没有,因此认为没有安装Python.
解决方案:将密钥HKEY_CURRENT_USER\Software\Python和所有子密钥复制到HKEY_LOCAL_MACHINE\Software下的相应位置(您可以使用regedit导出,然后在文本文件中查找并替换,然后导入).或者,重新安装Python并选择"所有用户".
归档时间: |
|
查看次数: |
49033 次 |
最近记录: |