【发布时间】:2019-06-20 13:34:09
【问题描述】:
在尝试了所有可以想象和无法想象的事情之后,我感到非常沮丧,他们的 SDK (https://www.microsoft.com/en-us/download/details.aspx?id=57467) 似乎缺少了一些东西:
C:\Anaconda3\PCbuild\amd64 /LIBPATH:build\temp.win-amd64-3.7 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763
.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x64" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64" msmpi.lib /EXPORT:PyInit_MPI build\temp.win-amd64-3.
7\Release\src/MPI.obj /OUT:build\lib.win-amd64-3.7\mpi4py\MPI.cp37-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.7\Release\src\MPI.cp37-win_amd64.lib
MPI.obj : warning LNK4197: export 'PyInit_MPI' specified multiple times; using first specification
Creating library build\temp.win-amd64-3.7\Release\src\MPI.cp37-win_amd64.lib and object build\temp.win-amd64-3.7\Release\src\MPI.cp37-win_amd64.exp
MPI.obj : error LNK2001: unresolved external symbol MPI_Ireduce_scatter
MPI.obj : error LNK2001: unresolved external symbol MPI_Iallgatherv
MPI.obj : error LNK2001: unresolved external symbol MPI_Iexscan
MPI.obj : error LNK2001: unresolved external symbol MPI_Iscan
MPI.obj : error LNK2001: unresolved external symbol MPI_Ialltoallw
MPI.obj : error LNK2001: unresolved external symbol MPI_Ireduce_scatter_block
MPI.obj : error LNK2001: unresolved external symbol MPI_Ialltoall
MPI.obj : error LNK2001: unresolved external symbol MPI_Ialltoallv
MPI.obj : error LNK2001: unresolved external symbol MPI_Reduce_scatter_block
build\lib.win-amd64-3.7\mpi4py\MPI.cp37-win_amd64.pyd : fatal error LNK1120: 9 unresolved externals
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1120
如果真的无法让它工作,那么请告诉我应该使用哪个 MPI 发行版而不是 Microfost MPI,因为https://www.mpich.org/downloads/ 没有为 Windows 提供任何替代方案。
P.S.:mpi4py 2.0.0 与 python 3.7 不兼容(至少 Anaconda 是这样告诉我的),所以我宁愿选择另一种 MPICH 发行版(如果有的话)而不是降级我的 python。
【问题讨论】: