试图在Windows7中的Anaconda(python)上安装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:

我想运行一些数据科学算法使用马尔可夫链蒙特卡罗贝叶斯分析,我试图安装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: 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")

奇怪…我以为堆栈溢出删除了这个问题,因为我想我永远也找不到它。谢谢你指出。奇怪……我以为堆栈溢出删除了这个问题,因为我想我永远也找不到它。谢谢你指出这一点。