包含 py_runtime
rule 傳回的 Python 執行階段相關資訊。
Python 執行階段可描述平台執行階段或內建執行階段。平台執行階段會存取系統安裝的解譯器,而內建執行階段則會指向用於解譯的 File
。無論是哪種情況,「轉譯器」都是指任何可執行的二進位檔或包裝函式指令碼,能夠執行在指令列上傳遞的 Python 指令碼,並遵循標準 CPython 轉譯器的慣例。
成員
- PyRuntimeInfo
- bootstrap_template
- coverage_files
- coverage_tool
- files
- interpreter
- interpreter_path
- python_version
- stub_shebang
PyRuntimeInfo
PyRuntimeInfo PyRuntimeInfo(interpreter_path=None, interpreter=None, files=None, coverage_tool=None, coverage_files=None, python_version, stub_shebang=None, bootstrap_template=None)
PyRuntimeInfo
建構函式。
參數
參數 | 說明 |
---|---|
interpreter_path
|
字串或 None ;預設值為 None 。新物件的 interpreter_path 欄位值。如果您傳入 interpreter ,請勿為此引數提供值。 |
interpreter
|
檔案或 None ;預設值為 None 。新物件的 interpreter 欄位值。如果您傳入 interpreter_path ,請勿為此引數提供值。 |
files
|
File 或 None 的 depset;預設為 None 。新物件的 files 欄位值。如果您傳入 interpreter_path ,請勿為這個引數提供值。如果指定 interpreter ,且此引數為 None ,files 就會變成空白 depset 。 |
coverage_tool
|
檔案或 None ;預設值為 None 。 新物件的 coverage_tool 欄位值。
|
coverage_files
|
File 或 None 的 depset;預設為 None 。新物件的 coverage_files 欄位值。如果未一併傳入 coverage_tool ,請勿為此引數提供值。 |
python_version
|
字串;
必填 新物件的 python_version 欄位值。
|
stub_shebang
|
string;預設值為 None 。新物件的 stub_shebang 欄位值。如果為 None 或未指定,則會使用 #!/usr/bin/env python3 。 |
bootstrap_template
|
File 或 None ;預設為 None |
bootstrap_template
File PyRuntimeInfo.bootstrap_template要使用的輔助程式指令碼範本檔案。應包含 %python_binary%、%workspace_name%、%main% 和 %imports%。如需更多變數,請參閱 @bazel_tools//tools/python:python_bootstrap_template.txt。
coverage_files
depset PyRuntimeInfo.coverage_files執行階段使用
coverage_tool
所需的檔案。如未提供 coverage_tool
,則為 None
。可能會傳回 None
。
coverage_tool
File PyRuntimeInfo.coverage_tool如果已設定,這個欄位就是
File
,代表用於從 Python 測試收集程式碼涵蓋率資訊的工具。否則,這會是 None
。可能會傳回 None
。
檔案
depset PyRuntimeInfo.files如果這是內建的執行階段,這個欄位就是
File
的 depset
,需要新增至使用這個執行階段的可執行目標的執行檔案 (特別是 interpreter
所需的檔案)。interpreter
的值不必包含在這個欄位中。如果這是平台執行階段,則這個欄位為 None
。可能會傳回 None
。
解譯器
File PyRuntimeInfo.interpreter如果這是內建的執行階段,這個欄位就是代表轉譯器的
File
。否則為 None
。請注意,內建的執行階段可以使用已建構並簽入的轉譯器,或是從原始碼建構的轉譯器。
可能會傳回 None
。
interpreter_path
string PyRuntimeInfo.interpreter_path如果這是平台執行階段,這個欄位就是目標平台上轉譯器的絕對檔案系統路徑。否則為
None
。可能會傳回 None
。
python_version
string PyRuntimeInfo.python_version表示這個執行階段是否使用 Python 主要版本 2 或 3。有效值僅為
"PY2"
和 "PY3"
。
stub_shebang
string PyRuntimeInfo.stub_shebang在執行
py_binary
目標時,會在引導 Python 存根指令碼前方加上「Shebang」運算式。不適用於 Windows。