pystan:CompileError:command' gcc'退出状态1失败(Windows)

时间:2015-12-18 20:30:41

标签: python windows cygwin stan

在我深入研究之前,我应该注意到我已经看过a very similar question,但所提出的解决方案并不适用于我。也许有一个原因是因为那是Linux构建而我目前的难度是在Windows 7机器上。我使用Cygwin来访问gcc(5.2.0)编译器套件。

无论如何,我一直试图通过PyStan尝试Stan。我正在使用我刚刚更新的Anaconda(2.4.1 64位)发行版(Python 2.7.11)。我最初尝试通过pip安装PyStan,但由于看起来像以下错误,安装仍然失败:

Cannot build msvcr library: "msvcr90d.dll" not found

因此,我使用了conda代替,似乎安装得很好。 (我应该注意到conda安装将我的numpy推回到早期版本,导入后会与pandas发生冲突。我刚刚更新了anaconda来处理这些破坏的依赖项。)我也能够毫无问题地导入PyStan。但是,当我实际尝试拟合模型(在Jupyter Notebook中)时,该过程失败,标题中出现异常。

我做的第一件事就是确认gcc位于引用位置的位置(标题中未显示)。确实如此,似乎工作得很好。然后我尝试从命令行(仍然使用Python)将模型作为脚本运行,并且失败并出现相同的错误。当我通过REPL重新创建模型时,它指向一个不同的位置,它有一个.bat文件引用(已验证的)编译器,但也失败了。

我很确定这是因为我有Visual Studio 2012,而不是Visual Studio 2008.虽然我可以运行并行安装,但如果此代码将来对其他人有用,这些不是合理的箍跳过来实现它。我希望别人可能有更好的解释。任何信息将不胜感激。

1 个答案:

答案 0 :(得分:0)

受益于https://github.com/stan-dev/pystan/issues/306

的帖子

我遇到了各种错误信息,但最后,我成功安装了PyStan。

我的机器也安装在Windows 7上,安装了Anaconda3的x64。这是从源代码安装PyStan的过程。

  1. 安装Visual Studio 2017& Visual Studio C ++ Build Tool 2015 http://landinghub.visualstudio.com/visual-cpp-build-tools

  2. 更新Conda

  3. conda update conda

    conda update --all

    1. 检查依赖项
    2. pip install setuptool

      conda install numpy cython matplotlib scipy pandas

      1. 安装gcc编译器组件
      2. conda install libpython

        conda install -c msys2 m2w64-toolchain = 5.3.0

        1. 使用以下内容在Anaconda3 \ Lib \ distutils文件夹中创建distutils.cfg文件:
        2. [构建]

          compiler = mingw32

          1. https://git-scm.com/downloads
          2. 下载Git

            git clone --recursive https://github.com/stan-dev/pystan.git

            1. 从源代码编译
            2. python setup.py build --compiler = mingw32

              python setup.py install

              P.S。该问题的解决方案:无法构建msvcr库:" vcruntime140d.dll"未找到。

              将vcruntime140d.dll从C:\ Windows \ System32复制到任何文件夹,该文件夹可在高级系统设置/环境变量/系统变量的路径中访问。