python-2.7 - 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
解决方案
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。
推荐阅读
- fetch - Deno 服务器 TLS 警报 HandshakeFailure
- ruby - 如何修复“`require_relative':无法加载此类文件”无法加载 - Ruby
- pascal - 帕斯卡读命令
- bash - 从文件中读取值,增加或更改它们并再次将它们存储在同一位置
- android - 如何在 Jetpack Compose 中勾勒文本
- python - 将项目添加到列表中的列表
- vue.js - PrimeVue/PrimeFace:组件的“optionLabel”作为函数?
- conda - Anaconda 问题 - 找不到源文件 err.msg
- reactjs - 如何使用 react-beautiful-dnd 为单个列设置 isDropDisabled?
- javascript - 停止剪辑路径手电筒效果