Хотя я использовал Windows 10, возможно, те же шаги, которые я изложил здесь , могут работать для вас.
Сначала вы должны получить оболочку Python Metis, используя pip: pip install metis
.
Во-вторых, вы должны установить conda-metis , которую вы можете найти здесь .Обратите внимание, что для работы Anaconda не требуется.
Поместите файлы в conda-metis-master по какому-нибудь пути к файлу.
Установка требует некоторых исправлений.Убедитесь, что у вас последняя версия Visual Studios (я использовал 2017).Для меня VS была проблема с выполнением инструкций в файле BUILD-WINDOWS.txt, который привел меня к этой теме:
Почему вместо MSBuild выглядит C: \ для Microsoft.Cpp.Default.propsиз c: \ Program Files (x86) \ MSBuild?(ошибка MSB4019)
В частности, ответ Для Visual Studio 2017 и 2019 в Windows 10 был тем, с чем я пошел.Потенциально он может отличаться для вас, поскольку вы работаете в Windows 7.
Для пакета python metis нам нужно сгенерировать metis.dll
, а не metis.lib
файл, поэтому мы также должны рассмотретьCMakeLists.txt
(см. Версию этого обсуждения для Linux здесь ).Мы добавляем в строку 19: set(METIS_LIBRARY_TYPE SHARED)
.
Вы должны следовать инструкциям BUILD-WINDOWS.txt, но запускать .\vsgen -G "Visual Studio 15 2017 Win64"
внутри пути к файлу conda-metis в командной строке с полными разрешениями вместо использования Visual Studio10.
Прежде чем перейти к использованию файлов, сгенерированных вышеуказанной командой в path_to_your_metis_dir\build\windows\
, нам нужно еще одно исправление.После того, что было сказано в:
rint () проблема после создания VS Project с использованием CMake
, мы должны отредактировать файл path_to_your_metis_dir\GKlib\gk_arch.h
, удалив строку: #define rint(x) ((idx_t)((x)+0.5))
.(Или исправление, указанное в этом обмене github .)
Затем перейдите к path_to_your_metis_dir\build\windows\
.
Откройте METIS.sln
в Visual Studios, перейдите наверх к 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
После этого метис python больше не завершался с ошибкой, когда я импортировал егов мой код с шагом from metis import *
.