python中把py文件转为pyd时,提示io.h文件缺失的解决法办
2019-07-26 09:45:51

这个问题困扰了我很长时间。这几天,我先后安装了VC2019,VC2017,VC2015这些都安装过了,还是不行,愁死了。网上各种方法也都试过了,还是不行。今天突发奇想,竟然想到了办法。

我的系统是win10,装的是python3.7.2,现在安装的是VC2017,执行python setup.py build_ext --inplace时提示的错误为:

C:\python37\xn>python setup.py build_ext --inplace

running build_ext

building 'a' extension

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\python37\include -IC:\python37\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" /Tca.c /Fobuild\temp.win32-3.7\Release\a.obj

a.c

c:\python37\include\pyconfig.h(59): fatal error C1083: 无法打开包括文件: “io.h”: No such file or directory

error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2

所以,我从Windows Kits中把io.h复制到python的Incolude目录中就轻松解决了。

附:

Windows Kits中io.h所在的目录:C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt

python3.7.2的include目录:C:\python37\include