试图在Windows7中的Anaconda(python)上安装pymc时出现奇怪的错误?
我想运行一些数据科学算法使用马尔可夫链蒙特卡罗贝叶斯分析,我试图安装PyMC,但令人沮丧的是得到这个错误试图在Windows7中的Anaconda(python)上安装pymc时出现奇怪的错误?,python,numpy,anaconda,pymc,Python,Numpy,Anaconda,Pymc,我想运行一些数据科学算法使用马尔可夫链蒙特卡罗贝叶斯分析,我试图安装PyMC,但令人沮丧的是得到这个错误 File "C:\Anaconda\lib\site-packages\numpy\distutils\fcompiler\gnu.py", line 333, in get_libraries raise NotImplementedError("Only MS compiler supported with gfortran on win64") NotImplementedError:
File "C:\Anaconda\lib\site-packages\numpy\distutils\fcompiler\gnu.py", line 333, in get_libraries
raise NotImplementedError("Only MS compiler supported with gfortran on win64")
NotImplementedError: Only MS compiler supported with gfortran on win64
为什么会发生这种情况?我能做些什么来解决它,而不需要我破解python和numpy,这可能会在以后把其他事情搞砸?事实证明,如果我只是去讨论这一行
"C:\Anaconda\lib\site-packages\numpy\distutils\fcompiler\gnu.py"
并注释掉该语句,使其看起来像这样-
else:
pass #raise NotImplementedError("Only MS compiler supported with gfortran on win64")
PyMC编译得很好。如果我只是转到有问题的那行
"C:\Anaconda\lib\site-packages\numpy\distutils\fcompiler\gnu.py"
并注释掉该语句,使其看起来像这样-
else:
pass #raise NotImplementedError("Only MS compiler supported with gfortran on win64")
PyMC编译得很好。根据Leon的回答,在我的情况下,问题似乎是当
gnu.py
期望msvc
时,我的默认Fortran编译器是mingw32
。出于PyMC的目的,mingw32
可以很好地工作,因此如果您希望削弱条件而不是完全消除它,请替换
if c_compiler and c_compiler.compiler_type == "msvc":
return []
else:
raise NotImplementedError("Only MS compiler supported with gfortran on win64")
在gnu.py中使用
if c_compiler and c_compiler.compiler_type in ["msvc", "mingw32"]:
return []
else:
raise NotImplementedError("Only MS compiler supported with gfortran on win64")
根据Leon的回答,在我的例子中,问题似乎是当
gnu.py
期望msvc
时,我的默认Fortran编译器是mingw32
。出于PyMC的目的,mingw32
可以很好地工作,因此如果您希望削弱条件而不是完全消除它,请替换
if c_compiler and c_compiler.compiler_type == "msvc":
return []
else:
raise NotImplementedError("Only MS compiler supported with gfortran on win64")
在gnu.py中使用
if c_compiler and c_compiler.compiler_type in ["msvc", "mingw32"]:
return []
else:
raise NotImplementedError("Only MS compiler supported with gfortran on win64")
奇怪…我以为堆栈溢出删除了这个问题,因为我想我永远也找不到它。谢谢你指出。奇怪……我以为堆栈溢出删除了这个问题,因为我想我永远也找不到它。谢谢你指出这一点。