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

安装trajectory-planning-helpers时quadprog编译wheel失败求助

安装trajectory-planning-helpers时quadprog编译wheel失败的解决方案

问题描述

执行命令pip install trajectory-planning-helpers安装trajectory-planning-helpers模块时,遭遇quadprog编译wheel失败,核心报错为:

C:\Python310\include\pyconfig.h(200): fatal error C1083: Cannot open include file: 'basetsd.h': No such file or directory

当前使用Python版本为3.10.10,已尝试以下方法但未解决:

  • 使用Python 3.10和3.11版本的虚拟环境;
  • 在Python 3.11环境下下载Microsoft SDK及相关工具。

完整报错信息:

python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [32 lines of output]
      running bdist_wheel
      running build
      running build_ext
      C:\Python310\lib\site-packages\Cython\Compiler\Main.py:388: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: C:\Users\User\AppData\Local\Temp\pip-install-1lt9e5l1\quadprog_6fa3226523604b288e1cc1c083587a6a\quadprog\quadprog.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling quadprog/quadprog.pyx because it changed.
      [1/1] Cythonizing quadprog/quadprog.pyx
      building 'quadprog' extension
      creating build
      creating build\temp.win-amd64-cpython-310
      creating build\temp.win-amd64-cpython-310\Release
      creating build\temp.win-amd64-cpython-310\Release\quadprog
      "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iquadprog -IC:\Python310\include -IC:\Python310\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcquadprog/aind.c /Fobuild\temp.win-amd64-cpython-310\Release\quadprog/aind.obj
      aind.c
      "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iquadprog -IC:\Python310\include -IC:\Python310\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcquadprog/daxpy.c /Fobuild\temp.win-amd64-cpython-310\Release\quadprog/daxpy.obj
      daxpy.c
      "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iquadprog -IC:\Python310\include -IC:\Python310\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcquadprog/ddot.c /Fobuild\temp.win-amd64-cpython-310\Release\quadprog/ddot.obj
      ddot.c
      "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iquadprog -IC:\Python310\include -IC:\Python310\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcquadprog/dpofa.c /Fobuild\temp.win-amd64-cpython-310\Release\quadprog/dpofa.obj
      dpofa.c
      "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iquadprog -IC:\Python310\include -IC:\Python310\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcquadprog/dscal.c /Fobuild\temp.win-amd64-cpython-310\Release\quadprog/dscal.obj
      dscal.c
      "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iquadprog -IC:\Python310\include -IC:\Python310\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcquadprog/f2c_lite.c /Fobuild\temp.win-amd64-cpython-310\Release\quadprog/f2c_lite.obj
      f2c_lite.c
      quadprog/f2c_lite.c(48): warning C4244: 'function': conversion from 'double' to 'float', possible loss of data
      quadprog/f2c_lite.c(134): warning C4244: 'return': conversion from 'double' to 'float', possible loss of data
      quadprog/f2c_lite.c(182): warning C4244: 'return': conversion from 'double' to 'integer', possible loss of data
      quadprog/f2c_lite.c(545): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
      "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iquadprog -IC:\Python310\include -IC:\Python310\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /EHsc /Tpquadprog/quadprog.cpp /Fobuild\temp.win-amd64-cpython-310\Release\quadprog/quadprog.obj
      quadprog.cpp
      C:\Python310\include\pyconfig.h(200): fatal error C1083: Cannot open include file: 'basetsd.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2

错误原因

basetsd.h是Windows SDK中的标准头文件,当前编译环境使用的Windows Kits版本(10.0.10240.0)过于老旧,或者SDK未正确安装、配置,导致编译工具无法找到该文件。

解决方法

1. 更新Windows SDK到最新版本

  • 打开Visual Studio Installer,选择已安装的"Visual Studio Build Tools 2019",点击"修改"。
  • 在"单个组件"中找到"Windows 10 SDK"或"Windows 11 SDK",勾选最新版本(如10.0.22000.0及以上),完成安装。

2. 使用正确的VS命令行环境编译

  • 打开"x64 Native Tools Command Prompt for VS 2019",激活你的Python虚拟环境,然后重新执行pip install trajectory-planning-helpers。
  • 该命令行工具会自动配置正确的编译环境变量,指向最新安装的SDK路径。

3. 安装预编译的quadprog wheel包

  • 跳过源码编译,直接安装对应Python版本和系统架构的预编译wheel文件:
    1. 确认你的Python版本(3.10)和系统架构(amd64)。
    2. 下载匹配的quadprog wheel文件,执行pip install quadprog-xxx-cp310-cp310-win_amd64.whl。
    3. 再执行pip install trajectory-planning-helpers。

4. 手动修正pyconfig.h的SDK路径

  • 打开C:\Python310\include\pyconfig.h,找到包含basetsd.h的行,修改其引用的SDK路径为已安装的Windows SDK的ucrt/include目录,例如:
    // 原路径
    #include <basetsd.h>
    // 修改为(根据实际安装路径调整)
    #include "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\basetsd.h"
    

内容的提问来源于stack exchange,提问作者Zaiman Aufar Purnama

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 06:17:05