首页 > 解决方案 > logger.warning("MSVC is not supported") 在 Windows 10 上安装 pystan 时出错

问题描述

我的目标是在我的 Windows 10 计算机上安装 fbprophet。我正在尝试使用 pip 安装 pystan(先知的主要依赖项),但大约一分钟后,我收到以下错误:

Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\User\appdata\local\temp\pip-build-nbypis\pystan\setup.py", line 124, in <module>
        logger.warning("MSVC is not supported")
    NameError: name 'logger' is not defined

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in c:\users\User\appdata\local\temp\pip-build-nbypis\pystan\

我正在使用 python 2.7

标签: python-2.7pystan

解决方案


Pystan 需要一个有效的 C++ 编译器,但不支持 MSVC,如文档中所述:https ://pystan2.readthedocs.io/en/latest/windows.html(编辑 2021 年 9 月 2 日更新到 pystan2 文档)

解决方案是安装 mingw-w64 编译器,您可以使用 conda 来完成,这更容易。如果您只想使用 vanilla python 和 pip,请继续阅读。

mingw 编译器下载地址:http: //mingw-w64.org/doku.php/download请务必下载并安装 64 位版本,因为 32 位应用程序在编译 pystan 时会因 32 位应用程序的内存阈值而崩溃。如果您手动安装,则需要将 [...]\MinGW\bin\ 文件夹添加到 PATH。

检查您的 distutils.cfg 并添加以下内容:

[build]
compiler=mingw32

此外,似乎由于 pystan 版本高于 2.17.1 的错误在非 conda 环境下的 windows 下无法正确编译。因此,如果这是您的选择,请使用此版本。

然后 FBProhpet 不喜欢手动安装 MinGW 编译器,所以我需要在 distutils 中注释 mingw 编译器行。您需要确保已安装 MSVC 14 和 Windows SDK - python 自动识别这些,无需再次更改 distutils.cfg。


推荐阅读