在Windows7上为python3安装METIS库

时间:2019-01-31 10:28:42

标签: python visual-c++ install networkx metis

我想在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

如果您回答我的问题,我将不胜感激。

1 个答案:

答案 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中的指令时遇到问题,这使我进入了该线程:

Why does MSBuild look in C:\ for Microsoft.Cpp.Default.props instead of c:\Program Files (x86)\MSBuild? ( error MSB4019)

特别是,答案对于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不再失败。