Python:在Windows上选择C++编译器 - MS Visual Studio到Mingw-w64.(PySta

Python: Choosing C++ compiler on Windows -- MS Visual Studio to Mingw-w64. (PyStan CompileError)

本文关键字:Studio Visual MS Mingw-w64 PySta 编译器 Windows C++ 选择 Python      更新时间:2023-10-16

我在Python中运行一个简单的PyStan模型时遇到CompileError:

警告:不支持 MSVC 编译器

回溯(最近一次调用(:文件 "C:\Python36\lib\distutils_msvccompiler.py",第 423 行,编译中 self.spawn(args( 文件 "C:\Python36\lib\distutils_msvccompiler.py", 第 542 行, in spawn return super((.spawn(cmd( File "C:\Python36\lib\distutils\ccompiler.py", 行 909, in spawn spawn(cmd, dry_run=self.dry_run( 文件 "C:\Python36\lib\distutils\spawn.py", 第 38 行, in spawn _spawn_nt(cmd, search_path, dry_run=dry_run( 檔案 "C:\Python36\lib\distutils\spawn.py", 第 81 行, in _spawn_nt "命令 %r 失败,退出状态 %d" % (cmd, rc(( distutils.errors.DistutilsExecError: 命令 'C:\Program Files (x86(\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe' 失败,退出状态为 1 在处理上述异常期间, 发生另一个异常:回溯(最近一次调用(:文件 "C:\panormus\venv2\lib\site-packages\IPython\core\interactiveshell.py", 3296路,run_code exec(code_obj、self.user_global_ns、self.user_ns( 文件 ",第 1 行,在 SM = 皮斯坦。StanModel(model_code=model( 文件 "C:\panormus\venv2\lib\site-packages\pystan\model.py",第 349 行,在initbuild_extension.run(( 文件 "C:\Python36\lib\distutils\command\build_ext.py", 第 339 行, in run self.build_extensions(( 文件 "C:\Python36\lib\distutils\command\build_ext.py",第 448 行,在 build_extensions self._build_extensions_serial(( 文件 "C:\Python36\lib\distutils\command\build_ext.py",第 473 行,在 _build_extensions_serial self.build_extension(ext( 文件 "C:\Python36\lib\distutils\command\build_ext.py",第 533 行,在 build_extension depends=ext.depends( 文件 "C:\Python36\lib\distutils_msvccompiler.py",第 425 行,编译中 引发 CompileError(msg( distutils.errors.CompileError: 命令 'C:\Program Files (x86(\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe' 失败,退出状态为 1

我已经在Python 3.6上使用pip(pip install PyStan(对Pystan进行了分析,并且正在尝试运行一个简单的模型(这里的第一个示例(

我的电脑上同时安装了MS Visual Studio(不支持(和MinGW-64(支持(。MinGW 可以使用 PyMC3 编译类似的模型,所以在我看来,我只需要让我的 Pystan 包识别安装并使用该编译器。不幸的是,即使这是正确的,我也不确定该怎么做,有人可以帮忙吗?

在这里回答我自己。事实证明,其他人也有类似的问题,"标准解决方案"似乎是为所有pystan建模运行conda虚拟环境。pystan 文档有详细的 conda 安装说明,这对我有用,但不支持非 conda 用户。