Kompilowanie ze źródłowego kodu OR-Tools w Pythonie w systemie macOS

Wstęp

Z tego przewodnika dowiesz się, jak tworzyć kompilacje z użyciem narzędzi źródłowych LUB-Tools z obsługą języka Python w systemie macOS.

Jeśli nie chcesz modyfikować kodu źródłowego ani używać rozwiązań innej firmy za pomocą narzędzi LUB, zalecamy instalację pakietu.

Chociaż te instrukcje mogą też działać w innych wersjach systemu macOS, przetestowaliśmy je tylko na komputerach spełniających te wymagania:

  • MacOS 13.0.1 (Ventura) Intel 64-bitowy (x86_64)
  • MacOS 13.0.1 (Ventura) M1 (arm64)

Wymagania wstępne

W kolejnych sekcjach opisano wymagania wstępne instalacji narzędzi LUB.

Narzędzia wiersza poleceń Xcode

Musisz zainstalować narzędzia wiersza poleceń Xcode. Aby to zrobić, otwórz terminal w aplikacji /Applications/Utilities/ i wpisz:

xcode-select --install

Kliknij „Zainstaluj”, aby pobrać i zainstalować narzędzia wiersza poleceń Xcode. Nie musisz pobierać Xcode z App Store. Jeśli masz wolne połączenie internetowe, może to potrwać kilka minut.

Sprawdź, czy udało Ci się zainstalować narzędzia wiersza poleceń Xcode:

xcode-select -p

Zobaczysz, że:

/Library/Developer/CommandLineTools

Domowe

Aby zainstalować pozostałe wymagania wstępne, najpierw zainstaluj „brakującego menedżera pakietów dla systemu macOS”, zwanego też Homebrew. Aby to zrobić, otwórz okno terminala i wpisz:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update

Aby sprawdzić, czy udało Ci się zainstalować piwo:

brew --version

Zobaczysz, że:

Homebrew 1.6.9-8-g25542d7
Homebrew/homebrew-core (git revision 0e0c84; last commit 2018-06-20)

Narzędzia C++

Aby zainstalować narzędzia C++, otwórz okno terminala i wpisz:

brew install cmake wget pkg-config

Narzędzie SWIG

Aby zainstalować narzędzie SWIG, otwórz okno terminala i wpisz:

brew install swig

Python

Musisz mieć zainstalowanego Pythona 3.8 lub nowszego.

Aby zainstalować Pythona 3.8 lub nowszą wersję, otwórz okno terminala i wpisz:

brew install python
python3 -m pip install -U --user wheel six

Następnie sprawdź poprawność instalacji:

python3 --version
python3 -c "import platform; print(platform.architecture()[0])"
python3 -m pip --version

Pobieranie kodu źródłowego

W GitHub istnieją 2 różne gałęzie kodu źródłowego OR-Tools: stable i main.

Gałąź stable została dokładnie przetestowana i powinna działać prawidłowo na wszystkich obsługiwanych platformach.
Gałąź main to miejsce, w którym wprowadzono najnowsze aktualizacje i ulepszenia. Jest bardziej aktualna, ale mniej stabilna.

Pobieranie stabilnego kodu źródłowego

Stabilny kod źródłowy dla OR-Tools możesz uzyskać na jeden z tych sposobów:

  • Skopiuj gałąź stable, wpisując:

    git clone https://github.com/google/or-tools
    
  • Pobierz najnowszą wersję w skompresowanym pliku, klikając przycisk Clone or download na GitHub.obraz przycisku klonowania lub pobierania

Pobierz główny kod źródłowy

Aby pobrać kod źródłowy z gałęzi main, wpisz:

git clone -b main https://github.com/google/or-tools

Pobieranie poprzednich wersji

Kod źródłowy poprzednich wersji możesz pobrać na następujące sposoby:

  • Pobierz poprzednią wersję ze strony wersji na GitHubie.
  • Zakładając, że masz już utworzone repozytorium lokalne (do git clone), możesz sprawdzić konkretną wersję za pomocą tagu Git. Aby na przykład pracować z wersją 9.9 zamiast gałęzi main, wpisz w lokalnym repozytorium te polecenia:

    git fetch --all --tags --prune
    git checkout tags/v9.9 -v v9.9
    

Konfigurowanie kompilacji

Przed utworzeniem narzędzi LUB musisz skonfigurować generator systemu kompilacji CMake.

Otwórz terminal i przejdź do katalogu, z którego zostały wyodrębnione pliki. Potem wpisz:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_PYTHON=ON

Więcej informacji znajdziesz w dokumentacji CMake.

Korzystanie z SCIP

Od wersji 7.8 rozwiązanie SCIP jest teraz zintegrowane, więc nie musisz instalować go ręcznie.

Korzystanie z Gurobi

Usługa Gurobi jest teraz wstępnie zintegrowana. W razie potrzeby w czasie działania narzędzi OR-Tools wyszuka zasoby udostępniane Gurobi w domyślnej ścieżce instalacji instalatorów Gurobi w systemie MAC OS X i Windows lub za pomocą zmiennej środowiskowej GUROBI_HOME.

Korzystanie z opcjonalnego rozwiązania MIP innej firmy

Możesz też używać LUB z dowolnym z tych opcjonalnych rozwiązań MIP innych firm, których obsługa domyślnie jest wyłączona:

Więcej informacji znajdziesz w tej dokumentacji.

Tworzenie kodu źródłowego

Aby utworzyć kod źródłowy, otwórz terminal i przejdź do katalogu, z którego zostały wyodrębnione pliki. Następnie wpisz to polecenie, aby skompilować OR-Tools:

cmake --build build --config Release --target ALL_BUILD -j -v

Więcej informacji znajdziesz w dokumentacji CMake.

Testowanie kodu źródłowego

Aby sprawdzić, czy wszystko działa poprawnie, wpisz:

cmake --build build --config Release --target RUN_TESTS -v

Uruchamiają się przykłady z operatora LUB. Jeśli wszystkie przykłady się uruchomią, możesz zacząć korzystać z OR-Tools.

Czyszczenie plików kompilacji

Jeśli musisz ponownie zainstalować OR-Tools, polecenie:

rm -r build

usuwa wszystkie skompilowane zależności. Może to być przydatne podczas przywracania ustawień fabrycznych.

Następnie ponownie wpisz polecenia:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_PYTHON=ON

cmake --build build --config Release --target ALL_BUILD -j -v

Instalowanie narzędzi OR-Tools w swoim systemie operacyjnym

Możesz zainstalować OR-Tools dla Pythona w swoim systemie operacyjnym, wpisując:

cmake --build build --config Release --target install -v