ソースまたはツール(MacOS)の Python からビルドする

はじめに

このガイドでは、macOS で、Python 対応のソースから OR-Tools を使用してビルドする方法について説明します。

ソースコードを変更する予定や、OR-Tools でサードパーティのソルバーを使用する予定がない場合は、パッケージのインストールをおすすめします。

この手順は他の macOS バリアントでも動作する可能性がありますが、次の要件を満たすマシンでのみテストしています。

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

前提条件

以降のセクションでは、OR-Tools をインストールするための前提条件について説明します。

Xcode コマンドライン ツール

Xcode コマンドライン ツールをインストールする必要があります。そのためには、/Applications/Utilities/ にあるターミナルを開いて次のように入力します。

xcode-select --install

[Install] をクリックし、Xcode コマンドライン ツールをダウンロードしてインストールします。App Store から Xcode を入手する必要はありません。インターネット接続が遅い場合は 数分かかることがあります

Xcode コマンドライン ツールが正常にインストールされたことを確認します。

xcode-select -p

次のように表示されます。

/Library/Developer/CommandLineTools

Homebrew

残りの前提条件をインストールするには、まず「macOS 用の不足しているパッケージ管理システム」(Homebrew とも呼ばれます)をインストールすることをおすすめします。そのためには、ターミナル ウィンドウを開いて次のように入力します。

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

brew が正常にインストールされたことを確認するには:

brew --version

次のように表示されます。

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

C++ ツール

C++ ツールをインストールするには、ターミナル ウィンドウを開いて次のように入力します。

brew install cmake wget pkg-config

SWIG ツール

SWIG ツールをインストールするには、ターミナル ウィンドウを開いて次のように入力します。

brew install swig

Python

Python 3.8 以降がインストールされている必要があります。

Python 3.8 以降をインストールするには、ターミナル ウィンドウを開いて次のように入力します。

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

次に、インストールを確認します。

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

ソースコードをダウンロードする

GitHub の OR-Tools ソースコードには、stablemain の 2 つの異なるブランチがあります。

stable ブランチは徹底的にテストされており、サポートされているすべてのプラットフォームで問題なく動作するはずです。
main ブランチは、最新のアップデートと改善が適用された場所です。最新ですが、安定性は劣ります。

安定版のソースコードをダウンロードする

OR-Tools の安定版のソースコードは、次のいずれかの方法で取得できます。

  • 次のコマンドを入力して stable ブランチのクローンを作成します。

    git clone https://github.com/google/or-tools
    
  • GitHubClone or download ボタンをクリックして、最新のリリースを圧縮ファイルでダウンロードします。 クローンまたはダウンロード ボタンの画像

メインのソースコードをダウンロードする

main ブランチからソースコードを取得するには、次のように入力します。

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

過去のリリースをダウンロードする

以前のリリースのソースコードは、次のいずれかの方法で取得できます。

  • GitHub リリースページから以前のリリースをダウンロードします。
  • すでに(git clone によって)ローカル リポジトリを作成している場合は、Git タグを使用して特定のリリースをチェックアウトできます。たとえば、main ブランチではなく v9.9 リリースを使用するには、ローカル リポジトリに次のコマンドを入力します。

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

ビルドを構成する

OR-Tools をビルドする前に、CMake ビルドシステム生成ツールを構成する必要があります。

ターミナルを開き、ファイルを抽出したディレクトリに移動します。続いて、次のように入力します。

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

詳しくは、CMake のドキュメントをご覧ください。

SCIP の使用

v7.8 以降、SCIP は統合されているので、手動でインストールする必要はありません。

Gurobi の使用

Gurobi は事前統合されました。必要に応じて、OR-Tools は実行時に、MAC OS X と Windows の Gurobi インストーラのデフォルトのインストール パスから、または GUROBI_HOME 環境変数を使用して、Gurobi 共有ライブラリを検索します。

オプションのサードパーティ製 MIP ソルバーを使用する

OR-Tools は、次のオプションのサードパーティ MIP ソルバーのいずれか(デフォルトではサポートが無効になっています)と併用することもできます。

詳しくは、こちらのドキュメントをご覧ください。

ソースコードをビルドする

ソースコードをビルドするには、ターミナルを開いて、ファイルを抽出したディレクトリに移動します。次に、次のコマンドを入力して OR-Tools をコンパイルします。

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

詳しくは、CMake のドキュメントをご覧ください。

ソースコードをテストする

次のコマンドを入力すると、すべてが正しく実行されていることを確認できます。

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

これにより、OR-Tools のサンプルが実行されます。すべてのサンプルが正常に実行されると、OR-Tools を使用する準備が整います。

ビルドファイルのクリーンアップ

OR-Tools を再インストールする必要がある場合は、次のコマンドを使用します。

rm -r build

コンパイルされた依存関係がすべて削除されます。 これはクリーンな状態にリセットするのに役立ちます。

コマンドを再入力します。

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

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

オペレーティング システムに OR-Tools をインストールする

OR-Tools for Python をオペレーティング システムにインストールするには、次のコマンドを入力します。

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