我使用Anaconda 1.7,32位。我从here下载了正确版本的netCDF4安装程序。
我尝试将HKEY_LOCAL_MACHINE \ SOFTWARE \ Python文件夹复制到HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node中。没有运气。
有谁知道为什么会这样? Anaconda安装在默认位置,C:/。
是的,我知道Anaconda在软件包列表中有netCDF4 - 但如果仔细观察,它只适用于Mac和Linux。
答案 0 :(得分:93)
如果要安装的位数与Python版本的位数不同,则会发生此错误。要查看Python安装是32位还是64位,请参阅here。
SourceForge或python.org上提供的一些超级包(例如Scipy)适用于32位系统,有些适用于64位系统。见this answer。在Windows中,卸载32位并安装64位版本(反之亦然,如果您的安装是32位)可以解决问题。
答案 1 :(得分:53)
使用.exe安装Python软件包时遇到了同样的问题(因为我使用Anaconda并且没有将Python添加到注册表中)。我通过运行此脚本解决了问题:
#
# script to register Python 2.0 or later for use with
# Python extensions that require Python registry settings
#
# written by Joakim Loew for Secret Labs AB / PythonWare
#
# source:
# http://www.pythonware.com/products/works/articles/regpy20.htm
#
# modified by Valentine Gogichashvili as described in http://www.mail-archive.com/distutils-sig@python.org/msg10512.html
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()
答案 2 :(得分:6)
答案 3 :(得分:3)
我认为这实际上取决于为什么会出现这个错误。这可能是比特问题,但也可能是因为a deinstaller bug留下了注册表项。
我刚刚遇到这种情况,因为我的系统需要两个版本的Python。当我尝试安装SCons(使用Python2)时,.msi安装程序失败,说它只在注册表中找到了Python3。所以我卸载它,结果根本找不到Python。令人沮丧! (解决方法:使用pip install --egg --upgrade scons
安装SCons)
无论如何,我确定这个现象有线索。我只是觉得它适合这里,因为这是我最热门的搜索结果之一。
答案 4 :(得分:1)
答案 5 :(得分:1)
P.S。对不起,语法不好。
答案 6 :(得分:0)
检查您要安装的32/64位。 python解释器和尝试使用python的应用都可能有所不同。