deepmind_labがWindowsでbazelを使用する方法----- WindowsでBazelを使用する



How Deepmind_lab Uses Bazel Windows Using Bazel Windows



Bazelは、64ビットのWindows7以降で動作します。既知の問題は ラベル「Windows」でマーク GitHubの問題について。

BazelはネイティブのWindowsバイナリです。 Windowsコマンドプロンプト(cmd.exe)またはPowerShellから実行します。



要件

  • Python2.7以降。
  • msys2シェル

    BAZEL_SHも設定する必要がありますbash.exeを指す環境変数。たとえば、Windowsコマンドプロンプト(cmd.exe)の場合:



    set BAZEL_SH=C:msys64usrinash.exe
  • いくつかのmsys2パッケージ。

    msys2シェルで次のコマンドを実行してインストールします。

    pacman -Syuu git curl zip unzip
  • Java JDK8。



    JDK7および9はサポートされていません。

    Bazelのバイナリディストリビューションをダウンロードした場合(を参照) WindowsへのBazelのインストール )、バイナリにはデフォルトでJDK8が埋め込まれています。

  • ソースからBazelをビルドした場合:JAVA_HOMEを設定しますJDKのディレクトリへの環境変数。

    たとえば、Windowsコマンドプロンプト(cmd.exe)の場合:

    set JAVA_HOME=C:Program FilesJavajdk1.8.0_112

    Bazelのバイナリディストリビューションをダウンロードした場合、またはChocolateyを使用してBazelをインストールした場合は、この手順は必要ありません。見る WindowsへのBazelのインストール

Windowsコマンドプロンプト(cmd.exe)で設定した環境変数は、そのコマンドプロンプトセッションでのみ設定されます。新しいcmd.exeを開始する場合は、変数を再設定する必要があります。 cmd.exeのときに常に変数を設定する開始すると、Control Panel > System Properties > Advanced > Environment Variables...のユーザー変数またはシステム変数に追加できます。ダイアログボックス。

インストール

見る WindowsにBazelをインストールする インストール手順については。

WindowsでのBazelの使用

初めてターゲットをビルドするときに、BazelはPythonとVisual C ++コンパイラの場所を自動構成します。再度自動構成する必要がある場合は、bazel cleanを実行します。次に、ターゲットを作成します。

C ++をビルドする

C ++ターゲットを作成するには、次のものが必要です。

  • Visual C ++コンパイラ。

    次のいずれかの方法でインストールできます。

    • インストール Visual Studio2015以降 (Community Editionで十分です)Visual C ++を使用します。

      Visual C++ > Common Tools for Visual C++もインストールしてくださいおよびVisual C++ > Microsoft Foundation Classes for C++特徴。これらの機能はデフォルトではインストールされません。

    • をインストールします Visual C ++ビルドツール2015以降

  • BAZEL_VSまたはBAZEL_VC環境変数。

    Bazelは、ターゲットを初めてビルドするときにC ++コンパイラを見つけようとします。コンパイラがどこにあるかをBazelに伝えるには、次の環境変数のいずれかを設定できます。

    • BAZEL_VS VisualStudioインストールディレクトリの保存
    • BAZEL_VC Visual C ++ビルドツールのインストールディレクトリを保存する

    これらの変数の1つを設定するだけで十分です。例えば:

    set BAZEL_VS=C:Program Files (x86)Microsoft Visual Studio 14.0

    または

    set BAZEL_VC=C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVC
  • ザ・ Windows SDK

    Windows SDKには、Bazel自体を含むWindowsアプリケーションを構築するときに必要なヘッダーファイルとライブラリが含まれています。

すべてが設定されている場合は、C ++ターゲットを今すぐ作成できます。

私たちのいずれかからターゲットを構築してみてください サンプルプロジェクト

C:projectsazel> bazel build //examples/cpp:hello-world C:projectsazel> bazel-binexamplescpphello-world.exe

Javaをビルドする

セットアップは必要ありません。

Windowsでは、Bazelはjava_binaryの3つの出力ファイルを作成しますルール:

  • a .jarファイル
  • JVMの環境をセットアップし、バイナリを実行できるシェルスクリプト
  • a .cmd前述のシェルスクリプトでBashを呼び出すことができるファイル(バッチスクリプト)。

私たちのいずれかからターゲットを構築してみてください サンプルプロジェクト

C:projectsazel> bazel build //examples/java-native/src/main/java/com/example/myproject:hello-world C:projectsazel> bazel-binexamplesjava-nativesrcmainjavacomexamplemyprojecthello-world.cmd

Pythonをビルドする

Pythonターゲットを作成するには、次のものが必要です。

  • ザ・ Pythonインタープリター

    Python2とPython3の両方がサポートされています。

    BazelにPythonの場所を伝えるには、--python_path=を使用できます。例えば:

    bazel build --python_path=C:/Python27/python.exe ...

    --python_pathの場合指定されていない場合、Bazelはpython.exeを使用しますインタプリタとバイナリが$PATHでそれを探すように実行時。 $PATHにない場合(たとえば、アクションの実行可能ファイルとしてpy_binaryを使用すると、Bazelは$PATHをサニタイズします)、実行は失敗します。

Windowsでは、Bazelはpy_binary用に2つの出力ファイルを作成しますルール:

  • 自己解凍型のzipファイル
  • 自己解凍型zipファイルを引数としてPythonインタープリターを実行できるバッチスクリプト

バッチスクリプト(拡張子は.cmd)を実行するか、自己解凍型のzipファイルを引数としてPythonを実行することができます。

私たちのいずれかからターゲットを構築してみてください サンプルプロジェクト

C:projectsazel> bazel build //examples/py_native:bin C:projectsazel> bazel-binexamplespy_nativein.cmd C:projectsazel> python bazel-binexamplespy_nativein

BazelがWindows上でPythonターゲットを構築する方法の詳細に興味がある場合は、これをチェックしてください 設計ドキュメント