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

6

背景:

  • 我是Python/Cpp的新手,正在尝试安装一个名为python-crfsuite的Python包,需要使用VS进行编译。

  • 我已经安装了Anaconda3、Python3.6和VS2017社区版安装程序(因为我认为这更好,因为我将使用VS的编译器:cl.exe)。

  • 我已经运行了vcvarsall.bat

  • 我运行的所有命令都是管理员权限。

过程:

当我尝试使用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

  • 我已经阅读了这里的答案。于是我尝试将环境变量中的路径替换为以下内容:

    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,我仍然必须面对这些问题,但我仍然无法解决它们。

2个回答

4
我遇到了相同的错误,但是我正在安装一个软件包。我通过从Visual Studio安装更多工具来解决这个问题(我使用的是VS 2017社区版和Python 3.6.4)。我安装了以下工具(请参见安装程序截图here):
  1. C++桌面开发: 我包括了所有默认项以及下面的内容:

    • 为C++提供Windows XP支持
    • 为C++ / CLI提供支持
    • VC ++ 2015.3 v140工具集
  2. C++ Linux开发

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

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

然后我执行了这个文件:

.\vcvars32.bat

接下来我像平常一样使用pip,例如,我想要安装Mayavi

pip install mayavi

我希望这也能帮助到其他人。


1
你的答案很有帮助,但对我来说只需要VC++ 2015.3 v140工具集就可以构建这个库。例如(他们可能没有使其与VS2017构建工具兼容)。 - Hakim

0
在我的Windows 10环境中,'io.h'文件随着Visual Studio安装程序中的任何'Windows 10 SDK'一起提供(我的SDK版本为10.0.20348.0,可以解决问题)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接