我是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,我也要面对这些问题,我仍然无法弄清楚
答案 0 :(得分:4)
我得到了同样的错误,但我正在安装一个包。我解决了从Visual Studio安装更多工具的问题(我正在使用VS 2017社区和Python 3.6.4)。我安装了这些工具(请参阅安装程序屏幕截图here):
使用C ++开发桌面:我包含了所有默认项目和下一个项目:
使用C ++进行Linux开发
然后我将 Windows PowerShell 打开为管理员权限(右键单击打开)并移动Visual Studio安装文件夹并找到该路径:
cd [Visual Studio Path]\VC\Auxiliary\Build
然后我执行了这个文件:
.\vcvars32.bat
之后我正常使用pip,例如,我想安装 Mayavi :
pip install mayavi
我希望它也有助于某人。