Windows环境下Cython编译.pyx文件报错且无pyd文件生成问题求助
Windows环境Cython编译失败解决方案
1. 解决ValueError: Unknown MS Compiler Version 1929报错
- 该报错由旧版本setuptools无法识别高版本MSVC编译器版本号导致,1929对应VS2019 16.11.x系列版本,首先执行命令升级相关依赖:
pip install --upgrade setuptools wheel cython - 若升级后仍报错,可强制指定使用MinGW作为编译器:在setup.py同级目录新建
setup.cfg文件,写入以下内容:
[build] compiler=mingw32
注意:需保证MinGW位数与Python位数一致,如64位Python必须使用mingw-w64版本,不能使用32位MinGW
2. 解决无pyd文件生成问题
- pyd未生成是编译流程因前面的报错中断导致,解决编译器版本报错后,执行编译命令即可生成:
python setup.py build_ext --inplace - 上述命令会直接将编译完成的pyd文件输出到当前工作目录,无需手动查找build目录下的文件
3. 解决#include "Python.h"报错
- 该报错为VSCode IntelliSense的本地配置问题,不影响实际编译流程,修复方式如下:
- 按下
Ctrl+Shift+P调出命令面板,搜索并选择C/C++: 编辑配置(UI) - 在「包含路径」配置项中,添加Python安装目录下的include文件夹路径,示例路径:
C:\Users\用户名\AppData\Local\Programs\Python\Python310\include - 若项目用到Numpy,额外添加
C:\Users\用户名\AppData\Local\Programs\Python\Python310\Lib\site-packages\numpy\core\include
- 按下
内容的提问来源于stack exchange,提问作者siddsp
相关产品推荐
相关产品推荐

