我想在Windows7上为python3.6安装METIS,我做了以下步骤:
1-从以下位置下载源(tar.gz或zip文件) https://pypi.python.org/pypi/networkx-metis/
2-解压并将目录更改为源目录(它应该具有 顶层的setup.py)。
3次运行
python setup.py build
建立
在此步骤中,我遇到以下错误:
error: Microsoft Visual C++ 14.0 is required.
我安装了“ Visual Studio Tools 2017”,然后再次运行代码。我遇到以下错误:
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio
14.0\\VC\\BIN\\cl.exe' failed with exit status 2
如果您回答我的问题,我将不胜感激。
答案 0 :(得分:0)
尽管我使用的是Windows 10,但也许与我介绍的here相同的步骤可能对您有用。
首先,您应该使用pip pip install metis
获取python metis包装器。
第二,您必须安装conda-metis ,您可以在其中找到here。注意,它不需要您安装Anaconda即可工作。
将文件放在conda-metis-master中的某些文件路径中。
安装需要一些修复程序。确保您拥有最新版本的Visual Studios(我使用的是2017年)。对我来说,VS在运行BUILD-WINDOWS.txt中的指令时遇到问题,这使我进入了该线程:
特别是,答案对于Windows 10上的Visual Studio 2017和2019 是我需要的。由于您使用的是Windows 7,因此可能对您而言有所不同。
对于python metis软件包,我们需要生成一个metis.dll
而不是一个metis.lib
文件,因此我们还必须仔细查看CMakeLists.txt
(请参阅本讨论的Linux版本) here)。我们在第19行添加:set(METIS_LIBRARY_TYPE SHARED)
。
您应按照BUILD-WINDOWS.txt的说明进行操作,但要在命令提示符下的conda-metis文件路径中运行.\vsgen -G "Visual Studio 15 2017 Win64"
,而不要使用Visual Studio 10,而应具有完全权限。
在继续使用由path_to_your_metis_dir\build\windows\
中的上述命令生成的文件之前,我们需要另一个修复程序。遵循以下内容:
rint() issue after creating VS Project using CMake
我们必须通过删除以下行来编辑文件path_to_your_metis_dir\GKlib\gk_arch.h
:#define rint(x) ((idx_t)((x)+0.5))
。 (或this github exchange上列出的修复程序。)
然后转到path_to_your_metis_dir\build\windows\
。
在Visual Studio中打开METIS.sln
,在顶部转到Build
,然后从下拉菜单转到Build Solution
。之后,.dll
文件将位于path_to_your_metis_dir\build\windows\libmetis\Release\
中。
最后,我们在命令提示符下运行:
set METIS_DLL=path_to_your_metis_dir\build\windows\libmetis\Release\metis.dll
此后,当我使用步骤from metis import *
将它导入我的代码时,python metis不再失败。