問題を報告open_in_new
ソースを表示open_in_new
ナイトリー
·
7.4
.
7.3
·
7.2
·
7.1
·
7.0
·
6.5
ルール
py_binary
ルールソースを表示open_in_new
py_binary(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, exec_compatible_with, exec_properties, features, imports, legacy_create_init, licenses, main, output_licenses, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, pyc_collection, python_version, restricted_to, srcs_version, stamp, tags, target_compatible_with, testonly, toolchains, visibility)
引数
属性 |
name |
名前: 必須
このターゲットの名前。
|
deps
|
ラベルのリスト。デフォルトは [] です。
ターゲットにリンクする追加ライブラリのリスト。通常はルールで定義される [`deps` 属性](https://bazel.build/reference/be/common-definitions#typical-attributes) に関するコメントをご覧ください。これらは通常、py_library ルールです。実行時に使用されるデータファイルのみを提供するターゲットは、data 属性に属します。 |
srcs
|
ラベルのリスト(必須)
ターゲットを作成するために処理される Python ソースファイルのリスト。これには、チェックインされたすべてのコードが含まれ、生成されたソースファイルが含まれることもあります。.py ファイルは srcs に、ライブラリ ターゲットは deps に配置します。実行時に必要となる可能性のある他のバイナリ ファイルは data に配置します。 |
data
|
ラベルのリスト。デフォルトは [] です。
このライブラリが実行時に必要とするファイルのリスト。通常はルールで定義される [`data` 属性](https://bazel.build/reference/be/common-definitions#typical-attributes) に関するコメントをご覧ください。「cc_embed_data」や「go_embed_data」のような「py_embed_data」はありません。これは、Python にランタイム リソースの概念があるためです。 |
imports
|
文字列のリスト。デフォルトは [] です。
PYTHONPATH に追加するインポート ディレクトリのリスト。「変数を作成」の置換の対象となります。これらのインポート ディレクトリは、このルールと、このルールに依存するすべてのルールに追加されます(注: このルールが依存するルールではありません。各ディレクトリは、このルールに依存する「py_binary」ルールによって「PYTHONPATH」に追加されます。文字列は repo-runfiles-root を基準としています。絶対パス(「/」で始まるパス)と、実行ルートより上のパスを参照するパスは許可されず、エラーが発生します。 |
legacy_create_init
|
整数。デフォルトは -1 です。
runfiles ツリーに空の「__init__.py」ファイルを暗黙的に作成するかどうか。これらは、Python ソースコードまたは共有ライブラリを含むすべてのディレクトリと、それらのディレクトリのすべての親ディレクトリ(リポジトリのルート ディレクトリを除く)に作成されます。デフォルトの -1(自動)は、`--incompatible_default_to_explicit_init_py` が使用されていない限り、true を意味します。false の場合、ユーザーは(空でもよい)__init__.py ファイルを作成し、必要に応じて Python ターゲットの srcs に追加する必要があります。 |
main
|
ラベル(デフォルトは None )
省略可。アプリケーションのメイン エントリ ポイントであるソースファイルの名前。このファイルは「srcs」にもリストに含める必要があります。指定しない場合、代わりに「name」に「.py」が追加されます。「name」が「srcs」内のファイル名と一致しない場合は、「main」を指定する必要があります。 |
precompile
|
文字列。デフォルトは "inherit" です。
**このターゲット** の py ソースファイルを事前コンパイルするかどうか。値:
* inherit: {flag}`--precompile` フラグから値を決定します。* 「enabled」: ビルド時に Python ソースファイルをコンパイルします。--precompile_add_to_runfiles は、コンパイルされたファイルがダウンストリーム バイナリにどのように組み込まれるかに影響します。* 「disabled」: ビルド時に Python ソースファイルをコンパイルしません。* `if_generated_source`: Python ソースファイルをコンパイルします(生成されたファイルの場合のみ)。:::{seealso}
* {flag}`--precompile` フラグ。場合によってはこの属性をオーバーライドし、ビルド時にすべてのターゲットに影響します。* ターゲットごとにプリコンパイルを伝播的に有効にする {obj}`pyc_collection` 属性。* [プリコンパイル](precompiling) のドキュメント: プリコンパイルの使用に関するガイド。:::
|
precompile_invalidation_mode
|
文字列。デフォルトは "auto" です。
事前コンパイルされたファイルが、関連するソースファイルと最新の状態であることを確認する方法。使用できる値は次のとおりです。
* auto: 有効な値は、他のビルド設定によって自動的に決定されます。* `checked_hash`: ソースファイルのハッシュが pyc ファイルに記録されているハッシュと一致する場合は、pyc ファイルを使用します。これは、変更する可能性のあるコードを扱う場合に特に便利です。* 「unchecked_hash」: pyc ファイルを常に使用します。pyc のハッシュをソースファイルと照合しません。これは、コードを変更しない場合に特に便利です。pyc 無効化モードの詳細については、https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode をご覧ください。 |
precompile_optimize_level
|
整数。デフォルトは 0 です。
事前コンパイル ファイルの最適化レベル。最適化レベルの詳細については、https://docs.python.org/3/library/functions.html#compile にある「compile()」関数の「optimize」引数のドキュメントをご覧ください。
注: 値「-1」は「現在のインタープリタ」を意味します。これは、pycs が生成されるビルド時に使用されるインタープリタであり、コードが実際に実行される実行時に使用されるインタープリタではありません。
|
precompile_source_retention
|
文字列。デフォルトは "inherit" です。
ソースファイルがコンパイルされるときに、ソースファイルが生成された出力に保持されるかどうかを決定します。有効な値は次のとおりです。
* inherit: {flag}`--precompile_source_retention` フラグから値を継承します。* `keep_source`: 元の Python ソースを含めます。* omit_source: 元の py ソースを含めないでください。* omit_if_generated_source: 通常のソースファイルの場合は元のソースを保持し、生成されたファイルの場合は省略します。 |
pyc_collection
|
文字列。デフォルトは "inherit" です。
依存関係の pyc ファイルを手動で含めるかどうかを決定します。注: この設定は、{flag}`--precompile_add_to_runfiles=decided_elsewhere` でのみ有効です。
有効な値は次のとおりです。
* `inherit`: {flag}`--pyc_collection` から値を継承します。
* `include_pyc`: バイナリに依存関係の pyc ファイルを追加します({obj}`PyInfo.transitive_pyc_files` から)。
* `disabled`: 依存関係の pyc ファイルを明示的に追加しません。ターゲットが runfiles の一部として pyc ファイルを含んでいる場合({obj}`--precompile_add_to_runfiles=always` が使用されている場合など)、pyc ファイルは依存関係から取得される場合があります。 |
python_version
|
文字列。デフォルトは "PY3" です。
無効で、使用されておらず、何もしません。
|
srcs_version
|
文字列。デフォルトは "PY2AND3" です。
無効で、使用されておらず、何もしません。
|
stamp
|
整数。デフォルトは -1 です。
ビルド情報をバイナリにエンコードするかどうか。使用可能な値:
* `stamp = 1`: `--nostamp` ビルドでも、ビルド情報を常にバイナリにスタンプします。この設定は、バイナリとそれに依存するダウンストリーム アクションのリモート キャッシュを破棄する可能性があるため、**避けるべき**です。* `stamp = 0`: ビルド情報は常に定数値に置き換えます。これにより、ビルド結果を適切にキャッシュに保存できます。* `stamp = -1`: ビルド情報の埋め込みは、`--[no]stamp` フラグによって制御されます。スタンプされたバイナリは、依存関係が変更されない限り再ビルドされません。警告: スタンプ処理は、キャッシュヒットを減らすことでビルドのパフォーマンスに悪影響を及ぼす可能性があるため、可能であれば避けてください。 |
py_library
ルールソースを表示open_in_new
py_library(name, deps, srcs, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, imports, licenses, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, restricted_to, srcs_version, tags, target_compatible_with, testonly, toolchains, visibility)
信頼できる Python コードのライブラリ。
デフォルトの出力:
* 入力 Python ソース
* ソースから事前コンパイルされたアーティファクト注: 事前コンパイルは、生成されるランファイルに含まれるデフォルトの出力に影響します。詳細については、プリコンパイル関連の属性とフラグをご覧ください。
引数
属性 |
name |
名前: 必須
このターゲットの名前。
|
deps
|
ラベルのリスト。デフォルトは [] です。
ターゲットにリンクする追加ライブラリのリスト。通常はルールで定義される [`deps` 属性](https://bazel.build/reference/be/common-definitions#typical-attributes) に関するコメントをご覧ください。これらは通常、py_library ルールです。実行時に使用されるデータファイルのみを提供するターゲットは、data 属性に属します。 |
srcs
|
ラベルのリスト。デフォルトは [] です。
ターゲットを作成するために処理される Python ソースファイルのリスト。これには、チェックインされたすべてのコードが含まれ、生成されたソースファイルが含まれることもあります。.py ファイルは srcs に、ライブラリ ターゲットは deps に配置します。実行時に必要となる可能性のある他のバイナリ ファイルは data に配置します。 |
data
|
ラベルのリスト。デフォルトは [] です。
このライブラリが実行時に必要とするファイルのリスト。通常はルールで定義される [`data` 属性](https://bazel.build/reference/be/common-definitions#typical-attributes) に関するコメントをご覧ください。「cc_embed_data」や「go_embed_data」のような「py_embed_data」はありません。これは、Python にランタイム リソースの概念があるためです。 |
imports
|
文字列のリスト。デフォルトは [] です。
PYTHONPATH に追加するインポート ディレクトリのリスト。「変数を作成」の置換の対象となります。これらのインポート ディレクトリは、このルールと、このルールに依存するすべてのルールに追加されます(注: このルールが依存するルールではありません。各ディレクトリは、このルールに依存する「py_binary」ルールによって「PYTHONPATH」に追加されます。文字列は repo-runfiles-root を基準としています。絶対パス(「/」で始まるパス)と、実行ルートより上のパスを参照するパスは許可されず、エラーが発生します。 |
precompile
|
文字列。デフォルトは "inherit" です。
**このターゲット** の py ソースファイルを事前コンパイルするかどうか。値:
* inherit: {flag}`--precompile` フラグから値を決定します。* 「enabled」: ビルド時に Python ソースファイルをコンパイルします。--precompile_add_to_runfiles は、コンパイルされたファイルがダウンストリーム バイナリにどのように組み込まれるかに影響します。* 「disabled」: ビルド時に Python ソースファイルをコンパイルしません。* `if_generated_source`: Python ソースファイルをコンパイルします(生成されたファイルの場合のみ)。:::{seealso}
* {flag}`--precompile` フラグ。場合によってはこの属性をオーバーライドし、ビルド時にすべてのターゲットに影響します。* ターゲットごとにプリコンパイルを伝播的に有効にする {obj}`pyc_collection` 属性。* [プリコンパイル](precompiling) のドキュメント: プリコンパイルの使用に関するガイド。:::
|
precompile_invalidation_mode
|
文字列。デフォルトは "auto" です。
事前コンパイルされたファイルが、関連するソースファイルと最新の状態であることを確認する方法。使用できる値は次のとおりです。
* auto: 有効な値は、他のビルド設定によって自動的に決定されます。* `checked_hash`: ソースファイルのハッシュが pyc ファイルに記録されているハッシュと一致する場合は、pyc ファイルを使用します。これは、変更する可能性のあるコードを扱う場合に特に便利です。* 「unchecked_hash」: pyc ファイルを常に使用します。pyc のハッシュをソースファイルと照合しません。これは、コードを変更しない場合に特に便利です。pyc 無効化モードの詳細については、https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode をご覧ください。 |
precompile_optimize_level
|
整数。デフォルトは 0 です。
事前コンパイル ファイルの最適化レベル。最適化レベルの詳細については、https://docs.python.org/3/library/functions.html#compile にある「compile()」関数の「optimize」引数のドキュメントをご覧ください。
注: 値「-1」は「現在のインタープリタ」を意味します。これは、pycs が生成されるビルド時に使用されるインタープリタであり、コードが実際に実行される実行時に使用されるインタープリタではありません。
|
precompile_source_retention
|
文字列。デフォルトは "inherit" です。
ソースファイルがコンパイルされるときに、ソースファイルが生成された出力に保持されるかどうかを決定します。有効な値は次のとおりです。
* inherit: {flag}`--precompile_source_retention` フラグから値を継承します。* `keep_source`: 元の Python ソースを含めます。* omit_source: 元の py ソースを含めないでください。* omit_if_generated_source: 通常のソースファイルの場合は元のソースを保持し、生成されたファイルの場合は省略します。 |
srcs_version
|
文字列。デフォルトは "PY2AND3" です。
無効で、使用されておらず、何もしません。
|
py_test
ルールソースを表示open_in_new
py_test(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, imports, legacy_create_init, licenses, local, main, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, pyc_collection, python_version, restricted_to, shard_count, size, srcs_version, stamp, tags, target_compatible_with, testonly, timeout, toolchains, visibility)
引数
属性 |
name |
名前: 必須
このターゲットの名前。
|
deps
|
ラベルのリスト。デフォルトは [] です。
ターゲットにリンクする追加ライブラリのリスト。通常はルールで定義される [`deps` 属性](https://bazel.build/reference/be/common-definitions#typical-attributes) に関するコメントをご覧ください。これらは通常、py_library ルールです。実行時に使用されるデータファイルのみを提供するターゲットは、data 属性に属します。 |
srcs
|
ラベルのリスト(必須)
ターゲットを作成するために処理される Python ソースファイルのリスト。これには、チェックインされたすべてのコードが含まれ、生成されたソースファイルが含まれることもあります。.py ファイルは srcs に、ライブラリ ターゲットは deps に配置します。実行時に必要となる可能性のある他のバイナリ ファイルは data に配置します。 |
data
|
ラベルのリスト。デフォルトは [] です。
このライブラリが実行時に必要とするファイルのリスト。通常はルールで定義される [`data` 属性](https://bazel.build/reference/be/common-definitions#typical-attributes) に関するコメントをご覧ください。「cc_embed_data」や「go_embed_data」のような「py_embed_data」はありません。これは、Python にランタイム リソースの概念があるためです。 |
imports
|
文字列のリスト。デフォルトは [] です。
PYTHONPATH に追加するインポート ディレクトリのリスト。「変数を作成」の置換の対象となります。これらのインポート ディレクトリは、このルールと、このルールに依存するすべてのルールに追加されます(注: このルールが依存するルールではありません。各ディレクトリは、このルールに依存する「py_binary」ルールによって「PYTHONPATH」に追加されます。文字列は repo-runfiles-root を基準としています。絶対パス(「/」で始まるパス)と、実行ルートより上のパスを参照するパスは許可されず、エラーが発生します。 |
legacy_create_init
|
整数。デフォルトは -1 です。
runfiles ツリーに空の「__init__.py」ファイルを暗黙的に作成するかどうか。これらは、Python ソースコードまたは共有ライブラリを含むすべてのディレクトリと、それらのディレクトリのすべての親ディレクトリ(リポジトリのルート ディレクトリを除く)に作成されます。デフォルトの -1(自動)は、`--incompatible_default_to_explicit_init_py` が使用されていない限り、true を意味します。false の場合、ユーザーは(空でもよい)__init__.py ファイルを作成し、必要に応じて Python ターゲットの srcs に追加する必要があります。 |
main
|
ラベル(デフォルトは None )
省略可。アプリケーションのメイン エントリ ポイントであるソースファイルの名前。このファイルは「srcs」にもリストに含める必要があります。指定しない場合、代わりに「name」に「.py」が追加されます。「name」が「srcs」内のファイル名と一致しない場合は、「main」を指定する必要があります。 |
precompile
|
文字列。デフォルトは "inherit" です。
**このターゲット** の py ソースファイルを事前コンパイルするかどうか。値:
* inherit: {flag}`--precompile` フラグから値を決定します。* 「enabled」: ビルド時に Python ソースファイルをコンパイルします。--precompile_add_to_runfiles は、コンパイルされたファイルがダウンストリーム バイナリにどのように組み込まれるかに影響します。* 「disabled」: ビルド時に Python ソースファイルをコンパイルしません。* `if_generated_source`: Python ソースファイルをコンパイルします(生成されたファイルの場合のみ)。:::{seealso}
* {flag}`--precompile` フラグ。場合によってはこの属性をオーバーライドし、ビルド時にすべてのターゲットに影響します。* ターゲットごとにプリコンパイルを伝播的に有効にする {obj}`pyc_collection` 属性。* [プリコンパイル](precompiling) のドキュメント: プリコンパイルの使用に関するガイド。:::
|
precompile_invalidation_mode
|
文字列。デフォルトは "auto" です。
事前コンパイルされたファイルが、関連するソースファイルと最新の状態であることを確認する方法。使用できる値は次のとおりです。
* auto: 有効な値は、他のビルド設定によって自動的に決定されます。* `checked_hash`: ソースファイルのハッシュが pyc ファイルに記録されているハッシュと一致する場合は、pyc ファイルを使用します。これは、変更する可能性のあるコードを扱う場合に特に便利です。* 「unchecked_hash」: pyc ファイルを常に使用します。pyc のハッシュをソースファイルと照合しません。これは、コードを変更しない場合に特に便利です。pyc 無効化モードの詳細については、https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode をご覧ください。 |
precompile_optimize_level
|
整数。デフォルトは 0 です。
事前コンパイル ファイルの最適化レベル。最適化レベルの詳細については、https://docs.python.org/3/library/functions.html#compile にある「compile()」関数の「optimize」引数のドキュメントをご覧ください。
注: 値「-1」は「現在のインタープリタ」を意味します。これは、pycs が生成されるビルド時に使用されるインタープリタであり、コードが実際に実行される実行時に使用されるインタープリタではありません。
|
precompile_source_retention
|
文字列。デフォルトは "inherit" です。
ソースファイルがコンパイルされるときに、ソースファイルが生成された出力に保持されるかどうかを決定します。有効な値は次のとおりです。
* inherit: {flag}`--precompile_source_retention` フラグから値を継承します。* `keep_source`: 元の Python ソースを含めます。* omit_source: 元の py ソースを含めないでください。* omit_if_generated_source: 通常のソースファイルの場合は元のソースを保持し、生成されたファイルの場合は省略します。 |
pyc_collection
|
文字列。デフォルトは "inherit" です。
依存関係の pyc ファイルを手動で含めるかどうかを決定します。注: この設定は、{flag}`--precompile_add_to_runfiles=decided_elsewhere` でのみ有効です。
有効な値は次のとおりです。
* `inherit`: {flag}`--pyc_collection` から値を継承します。
* `include_pyc`: バイナリに依存関係の pyc ファイルを追加します({obj}`PyInfo.transitive_pyc_files` から)。
* `disabled`: 依存関係の pyc ファイルを明示的に追加しません。ターゲットが runfiles の一部として pyc ファイルを含んでいる場合({obj}`--precompile_add_to_runfiles=always` が使用されている場合など)、pyc ファイルは依存関係から取得される場合があります。 |
python_version
|
文字列。デフォルトは "PY3" です。
無効で、使用されておらず、何もしません。
|
srcs_version
|
文字列。デフォルトは "PY2AND3" です。
無効で、使用されておらず、何もしません。
|
stamp
|
整数。デフォルトは 0 です。
ビルド情報をバイナリにエンコードするかどうか。使用可能な値:
* `stamp = 1`: `--nostamp` ビルドでも、ビルド情報を常にバイナリにスタンプします。この設定は、バイナリとそれに依存するダウンストリーム アクションのリモート キャッシュを破棄する可能性があるため、**避けるべき**です。* `stamp = 0`: ビルド情報は常に定数値に置き換えます。これにより、ビルド結果を適切にキャッシュに保存できます。* `stamp = -1`: ビルド情報の埋め込みは、`--[no]stamp` フラグによって制御されます。スタンプされたバイナリは、依存関係が変更されない限り再ビルドされません。警告: スタンプ処理は、キャッシュヒットを減らすことでビルドのパフォーマンスに悪影響を及ぼす可能性があるため、可能であれば避けてください。 |
py_runtime
ルールソースを表示open_in_new
py_runtime(name, bootstrap_template, compatible_with, coverage_tool, deprecation, distribs, exec_compatible_with, exec_properties, features, files, implementation_name, interpreter, interpreter_path, interpreter_version_info, pyc_tag, python_version, restricted_to, stage2_bootstrap_template, stub_shebang, tags, target_compatible_with, testonly, toolchains, visibility, zip_main_template)
Python コードの実行に使用される Python ランタイムを表します。
「py_runtime」ターゲットは、*プラットフォーム ランタイム* または *ビルドイン ランタイム*のいずれかを表すことができます。プラットフォーム ランタイムは、既知のパスでシステムにインストールされたインタープリタにアクセスしますが、ビルドイン ランタイムは、インタープリタとして機能する実行可能ターゲットを指します。どちらの場合も、「インタープリタ」とは、標準の CPython インタープリタと同じ規則に従って、コマンドラインから渡された Python スクリプトを実行できる実行可能バイナリまたはラッパー スクリプトです。プラットフォーム ランタイムは本質的に非気密です。ターゲット プラットフォームに、特定のパスにインタープリタが配置されていることが求められます。ビルドイン ランタイムは、チェックインされたインタープリタを指しているのか、システム インタープリタにアクセスするラッパー スクリプトを指しているのかによって、完全性保護されている場合とそうでない場合があります。例
```
load("@rules_python//python:py_runtime.bzl", "py_runtime")
py_runtime(
name = "python-2.7.12",
files = glob(["python-2.7.12/**"]),
interpreter = "python-2.7.12/bin/python",
)
py_runtime(
name = "python-3.6.0",
interpreter_path = "/opt/pyenv/versions/3.6.0/bin/python",
)
```
引数
属性 |
name |
名前: 必須
このターゲットの名前。
|
bootstrap_template
|
ラベル(デフォルトは "@rules_python//python/private:bootstrap_template" )
使用するブートストラップ スクリプト テンプレート ファイル。%python_binary%、%workspace_name%、%main%、%imports% が必要です。このテンプレートは展開後にプロセスの開始に使用される実行可能ファイルになるため、Python インタープリタ、ランファイルの検索、目的の Python アプリケーションを実行する環境の構築などの初期ブートストラップ アクションを担当します。この属性は現在省略可能ですが、Python ルールが Bazel 自体から移動された場合は必須になります。展開される変数名は不安定な API であり、変更される可能性があります。Python ルールが Bazel から移行されると、API の安定性が向上します。その他の変数については、@bazel_tools//tools/python:python_bootstrap_template.txt をご覧ください。 |
coverage_tool
|
ラベル(デフォルトは None )
これは、{rule}`py_binary` ターゲットと {rule}`py_test` ターゲットからコードカバレッジ情報を収集するために使用するターゲットです。設定する場合、ターゲットは単一ファイルを生成するか、実行可能なターゲットである必要があります。単一ファイルのパス(ターゲットが実行可能ファイルの場合は実行可能ファイル)によって、Python カバレッジ ツールのエントリ ポイントが決まります。カバレッジが有効になっている場合、ターゲットとそのランファイルがランファイルに追加されます。ツールのエントリ ポイントは、Python インタープリタ(.py ファイルや .pyc ファイルなど)で読み込み可能である必要があります。少なくとも「run」サブコマンドと「lcov」サブコマンドを含む [`coverage.py`](https://coverage.readthedocs.io) のコマンドライン引数を受け入れるようにする必要があります。 |
files
|
ラベルのリスト。デフォルトは [] です。
ビルド内ランタイムの場合、これはこのランタイムを構成する一連のファイルです。これらのファイルは、このランタイムを使用する Python バイナリのランファイルに追加されます。プラットフォーム ランタイムの場合、この属性は設定しないでください。 |
implementation_name
|
文字列。デフォルトは "" です。
Python 実装名(sys.implementation.name) |
interpreter
|
ラベル(デフォルトは None )
ビルドイン ランタイムの場合、これはインタープリタとして呼び出すターゲットです。次のいずれかになります。
* 単一ファイル(インタープリタ バイナリ)このようなインタープリタは、自己完結型の単一ファイル実行可能ファイルであるか、サポート ファイルが「files」で指定されていると想定されます。
* 実行可能ターゲット。ターゲットの実行可能ファイルはインタープリタ バイナリになります。他のデフォルト出力(target.files)とプレーン ファイルの runfiles(runfiles.files)は、files 属性で指定されているかのように自動的に含まれます。注: ターゲットのランファイルが、ツールチェーン/インタープリタのコンシューマに適切に尊重/伝播されていない場合があります。bazelbuild/rules_python/issues/1612 をご覧ください。プラットフォーム ランタイム(interpreter_path が設定されている場合)では、この属性を設定しないでください。 |
interpreter_path
|
文字列。デフォルトは "" です。
プラットフォーム ランタイムの場合、これはターゲット プラットフォーム上の Python インタープリタの絶対パスです。ビルドイン ランタイムの場合、この属性は設定しないでください。 |
interpreter_version_info
|
辞書: 文字列 -> 文字列。デフォルトは {} です。
このランタイムが提供するインタープリタのバージョン情報。指定しない場合、{obj}`--python_version` が使用されます。サポートされているキーは、sys.version_info の名前と一致します。入力値は文字列ですが、ほとんどが int に変換されます。サポートされているキーは次のとおりです。
* major: int、メジャー バージョン番号
* minor: int、マイナー バージョン番号
* micro: 省略可の int、マイクロ バージョン番号
* releaselevel: 省略可の str、リリース レベル
* serial: 省略可の int、リリースのシリアル番号
:::{versionchanged} 0.36.0
{obj}`--python_version` によってデフォルト値が決まります。:::
|
pyc_tag
|
文字列。デフォルトは "" です。
省略可能な文字列。pyc ファイル名のタグ部分(foo.cpython-39.pyc の「cpython-39」接尾辞など)。PEP 3147 をご覧ください。指定しない場合、implementation_name と interpreter_version_info から計算されます。pyc_tag を使用できない場合、ソースレスの pyc 生成のみが正しく機能します。 |
python_version
|
文字列。デフォルトは "PY3" です。
このランタイムが Python メジャー バージョン 2 用か 3 用か。有効な値は「PY2」と「PY3」です。デフォルト値は `--incompatible_py3_is_default` フラグで制御されます。ただし、今後この属性は必須となり、デフォルト値は設定されなくなります。 |
stage2_bootstrap_template
|
ラベル(デフォルトは "@rules_python//python/private:stage2_bootstrap_template" )
2 ステージ ブートストラップが有効になっている場合に使用するテンプレート
:::{seealso}
{obj}`PyRuntimeInfo.stage2_bootstrap_template` と {obj}`--bootstrap_impl`
:::
|
stub_shebang
|
文字列。デフォルトは "#!/usr/bin/env python3" です。
{rule}`py_binary` ターゲットの実行時に使用されるブートストラップ Python スタブ スクリプトに先頭に追加される「シェバン」式。理由については、https://github.com/bazelbuild/bazel/issues/8685 をご覧ください。Windows には適用されません。
|
zip_main_template
|
ラベル(デフォルトは "@rules_python//python/private:zip_main_template" )
ZIP の最上位の「__main__.py」ファイルに使用するテンプレート。これは、`python foo.zip` の実行時に実行されるエントリ ポイントになります。:::{seealso}
{obj}`PyRuntimeInfo.zip_main_template` フィールド。:::
|