pyconfig.h - 无法打开包含文件:' io.h':没有这样的文件或目录

时间:2017-07-10 08:50:10

标签: python c++ anaconda visual-studio-2017

背景

  • 我是python / Cpp的新手,我正在尝试安装一个需要VS编译的python包python-crfsuite。

  • 我在VS2017社区安装程序中安装了Anaconda3,pyhon3.6(因为我认为它更好,因为我将使用VS的编译器:cl.exe

  • 我已经运行vcvarsall.bat

  • 我运行的所有命令都在admin

过程:

当我尝试pip install python-crfsuite时,它给了我错误:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Icrfsuite/include/ -Icrfsuite/lib/cqdb/include -Iliblbfgs/include -Ipycrfsuite -Icrfsuite/win32 -Iinclude "-IC:\Program Files\Anaconda3\include" "-IC:\Program Files\Anaconda3\include" /EHsc /Tppycrfsuite/_pycrfsuite.cpp /Fobuild\temp.win-amd64-3.6\Release\pycrfsuite/_pycrfsuite.obj _pycrfsuite.cpp c:\program files\anaconda3\include\pyconfig.h(59): fatal error C1083: Cannot open include file: 'io.h': No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2

  • 我已阅读here的答案。所以我尝试在系统环境中替换路径,如下所示: C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86 => C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86 但它对我没有任何作用。

  • 然后我尝试下载io.h并放入C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\include,但这没用。

  • 最后我尝试使用conda install conda install -c conda-forge python-crfsuite成功

问题

  • 为什么conda install没有io.h的问题,与pip install有什么区别?

  • 为什么VS中的不同路径中有多个cl.exe(我不太熟悉),使用不同的cl.exe有什么不同?

我问这些问题,因为即使我安装了Anaconda,如果我想使用pip install,我也要面对这些问题,我仍然无法弄清楚

1 个答案:

答案 0 :(得分:4)

我得到了同样的错误,但我正在安装一个包。我解决了从Visual Studio安装更多工具的问题(我正在使用VS 2017社区和Python 3.6.4)。我安装了这些工具(请参阅安装程序屏幕截图here):

  1. 使用C ++开发桌面:我包含了所有默认项目和下一个项目:

    • Windows XP对C ++的支持
    • 支持C ++ / CLI
    • VC ++ 2015.3 v140工具集
  2. 使用C ++进行Linux开发

  3. 然后我将 Windows PowerShell 打开为管理员权限(右键单击打开)并移动Visual Studio安装文件夹并找到该路径:

    cd [Visual Studio Path]\VC\Auxiliary\Build
    

    然后我执行了这个文件:

    .\vcvars32.bat
    

    之后我正常使用pip,例如,我想安装 Mayavi

    pip install mayavi
    

    我希望它也有助于某人。