You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Cython编译Python代码时报错无法找到vcvarsall.bat该如何解决

解决Cython编译时找不到vcvarsall.bat报错

报错原因

你安装的Microsoft Visual C++ 2012、2013、2015-2019都属于运行时库,仅支持运行用对应版本VC编译的程序,没有包含C/C++编译所需的工具链、头文件和vcvarsall.bat环境配置脚本,因此编译Cython扩展时会触发报错。从你提供的Python配置来看你使用的是64位Python 3.10,对应支持VS2017及以上版本的MSVC工具集。

解决方案

方案1:安装官方MSVC生成工具(最稳定,推荐)

  • 下载微软Visual Studio生成工具(无需安装完整IDE),安装时勾选「使用C++的桌面开发」工作负载,默认会安装匹配当前系统的MSVC工具集、Windows SDK以及vcvarsall.bat相关文件,安装完成后重启命令行重新执行编译命令即可:
    python setup.py build_ext --inplace

方案2:手动调用已有的vcvarsall.bat

如果已经安装过对应版本的Visual Studio,可手动执行脚本配置环境后再编译:

  • 找到对应版本VS安装路径下的vcvarsall.bat,VS2019/2022的默认路径示例:
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
  • 在命令行执行对应命令配置环境,64位系统执行:
    "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
    32位系统执行:
    "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
  • 配置完成后在同一命令行窗口执行编译命令即可。

方案3:使用MinGW-w64替代MSVC编译

不想安装MSVC工具链可使用MinGW作为替代编译器:

  • 安装MinGW-w64,将其bin目录添加到系统环境变量PATH中,重启命令行使配置生效
  • 进入Python安装目录下的Lib\distutils文件夹,新建名为distutils.cfg的文件,写入以下内容:

[build]
compiler=mingw32

[build_ext]
compiler=mingw32

  • 保存文件后重新执行编译命令即可。

内容的提问来源于stack exchange,提问作者Shalva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:30:04