ルール
  
    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` にもリストされている必要があります。指定されていない場合は、代わりに `.py` が付加された `name` が使用されます。`name` が `srcs` のファイル名と一致しない場合は、`main` を指定する必要があります。 | 
      
                                
        
          precompile
         | 
        
                     文字列。デフォルトは "inherit" です。 
                    **このターゲット** の py ソースファイルをプリコンパイルするかどうか。値:
* `inherit`: ダウンストリーム バイナリで、事前コンパイルされたファイルを使用するかどうかを決定できるようにします。
* `enabled`: ビルド時に Python ソースファイルをコンパイルします。* `disabled`: ビルド時に 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` は「現在のインタープリタ」を意味します。これは、コードが実際に実行される実行時に使用されるインタープリタではなく、_pyc が生成されるビルド時に使用される_インタープリタです。 | 
      
                      
        
          precompile_source_retention
         | 
        
                     文字列。デフォルトは "inherit" です。 
                    ソースファイルがコンパイルされるときに、ソースファイルを結果の出力に保持するかどうかを決定します。有効な値は次のとおりです。
* `inherit`: {flag}`--precompile_source_retention` フラグから値を継承します。* `keep_source`: 元の Python ソースを含めます。* `omit_source`: 元の py ソースを含めません。 | 
      
                      
        
          pyc_collection
         | 
        
                     文字列。デフォルトは "inherit" です。 
                    依存関係の pyc ファイルを手動で含めるかどうかを決定します。有効な値は次のとおりです。
* `inherit`: {flag}`--precompile` から値を継承します。
* `include_pyc`: 依存関係から暗黙的に生成された pyc ファイルを追加します。つまり、{attr}`precompile="inherit"` を指定するターゲットの pyc ファイルです。
* `disabled`: 暗黙的に生成された pyc ファイルを追加しません。なお、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 ソース
* ソースから事前コンパイルされたアーティファクト。注: 事前コンパイルは、結果の runfile に含まれるデフォルトの出力に影響します。詳しくは、プリコンパイル関連の属性とフラグをご覧ください。:::{versionchanged} 0.37.0
ソースファイルが runfiles に直接追加されなくなりました。:::
  
引数
  
    
      
      
    
    
      
        | 属性 | 
      
    
    
      
        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`: ダウンストリーム バイナリで、事前コンパイルされたファイルを使用するかどうかを決定できるようにします。
* `enabled`: ビルド時に Python ソースファイルをコンパイルします。* `disabled`: ビルド時に 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` は「現在のインタープリタ」を意味します。これは、コードが実際に実行される実行時に使用されるインタープリタではなく、_pyc が生成されるビルド時に使用される_インタープリタです。 | 
      
                      
        
          precompile_source_retention
         | 
        
                     文字列。デフォルトは "inherit" です。 
                    ソースファイルがコンパイルされるときに、ソースファイルを結果の出力に保持するかどうかを決定します。有効な値は次のとおりです。
* `inherit`: {flag}`--precompile_source_retention` フラグから値を継承します。* `keep_source`: 元の Python ソースを含めます。* `omit_source`: 元の py ソースを含めません。 | 
      
                                
        
          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` にもリストされている必要があります。指定されていない場合は、代わりに `.py` が付加された `name` が使用されます。`name` が `srcs` のファイル名と一致しない場合は、`main` を指定する必要があります。 | 
      
                      
        
          precompile
         | 
        
                     文字列。デフォルトは "inherit" です。 
                    **このターゲット** の py ソースファイルをプリコンパイルするかどうか。値:
* `inherit`: ダウンストリーム バイナリで、事前コンパイルされたファイルを使用するかどうかを決定できるようにします。
* `enabled`: ビルド時に Python ソースファイルをコンパイルします。* `disabled`: ビルド時に 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` は「現在のインタープリタ」を意味します。これは、コードが実際に実行される実行時に使用されるインタープリタではなく、_pyc が生成されるビルド時に使用される_インタープリタです。 | 
      
                      
        
          precompile_source_retention
         | 
        
                     文字列。デフォルトは "inherit" です。 
                    ソースファイルがコンパイルされるときに、ソースファイルを結果の出力に保持するかどうかを決定します。有効な値は次のとおりです。
* `inherit`: {flag}`--precompile_source_retention` フラグから値を継承します。* `keep_source`: 元の Python ソースを含めます。* `omit_source`: 元の py ソースを含めません。 | 
      
                      
        
          pyc_collection
         | 
        
                     文字列。デフォルトは "inherit" です。 
                    依存関係の pyc ファイルを手動で含めるかどうかを決定します。有効な値は次のとおりです。
* `inherit`: {flag}`--precompile` から値を継承します。
* `include_pyc`: 依存関係から暗黙的に生成された pyc ファイルを追加します。つまり、{attr}`precompile="inherit"` を指定するターゲットの pyc ファイルです。
* `disabled`: 暗黙的に生成された pyc ファイルを追加しません。なお、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, abi_flags, 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 | 
        
           名前(必須) 
          このターゲットの一意の名前。 
         | 
      
                
        
          abi_flags
         | 
        
                     文字列。デフォルトは "" です。 
                    ランタイムの ABI フラグ(`sys.abiflags`)。
設定されていない場合は、フラグに基づいて設定されます。 | 
      
                      
        
          bootstrap_template
         | 
        
                     ラベル。デフォルトは "@rules_python//python/private:bootstrap_template" 
                    使用するブートストラップ スクリプト テンプレート ファイル。%python_binary%、%workspace_name%、%main%、%imports% を含める必要があります。このテンプレートは、展開後にプロセスの開始に使用される実行可能ファイルになるため、Python インタープリタや runfile の検索、目的の 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 バイナリの runfiles に追加されます。プラットフォーム ランタイムの場合、この属性は設定してはなりません。 | 
      
                      
        
          implementation_name
         | 
        
                     文字列。デフォルトは "cpython" です。 
                    Python 実装名(`sys.implementation.name`)
         | 
      
                      
        
          interpreter
         | 
        
                     ラベル。デフォルトは None 
                    ビルド内ランタイムの場合、これはインタープリタとして呼び出すターゲットです。次のいずれかになります。
* 単一のファイル(インタープリタ バイナリ)。このようなインタープリタは、自己完結型の単一ファイル実行可能ファイルであるか、サポート ファイルが `files` で指定されていると想定されます。
* 実行可能ターゲット。ターゲットの実行可能ファイルはインタープリタ バイナリになります。他のデフォルト出力(`target.files`)とプレーン ファイルのランファイル(`runfiles.files`)は、`files` 属性で指定されたかのように自動的に含まれます。注: ターゲットの実行ファイルがツールチェーン/インタープリタのコンシューマーにまだ正しく反映/伝播されていない可能性があります。bazelbuild/rules_python/issues/1612 をご覧ください。
プラットフォーム ランタイム(つまり `interpreter_path` が設定されている)の場合、この属性は設定しないでください。 | 
      
                      
        
          interpreter_path
         | 
        
                     文字列。デフォルトは "" です。 
                    プラットフォーム ランタイムの場合、これはターゲット プラットフォーム上の Python インタープリタの絶対パスです。インビルド ランタイムの場合、この属性は設定しないでください。 | 
      
                      
        
          interpreter_version_info
         | 
        
                     ディクショナリ: 文字列 -> 文字列。デフォルトは {} 
                    このランタイムが提供するインタープリタのバージョン情報。指定しない場合は、{obj}`--python_version` を使用します。
サポートされているキーは `sys.version_info` の名前と一致します。入力値は文字列ですが、ほとんどは整数に変換されます。サポートされているキーは次のとおりです。
  * 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 スタブ スクリプトの先頭に付加される「Shebang」式。動機については、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` フィールド。
:::
         |