今天准备把py文件转为pyd用于加密,结果安装环境后出现错误: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,我是这样解决的。
VS2019安装后,不行。然后又试了VS2017和VS2015,都不行。感觉没理由啊,怎么办呢?再回头看了一下上面的错误代码,结果发现python版本和VC版本不兼容。
我的错误代码如下:
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