py_runtime
rule.A Python runtime describes either a platform runtime or an in-build runtime. A platform runtime accesses a system-installed interpreter at a known path, whereas an in-build runtime points to a File
that acts as the interpreter. In both cases, an "interpreter" is really any executable binary or wrapper script that is capable of running a Python script passed on the command line, following the same conventions as the standard CPython interpreter.
Members
- 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)The
PyRuntimeInfo
constructor.
Parameters
Parameter | Description |
---|---|
interpreter_path
|
string; or None ;
default is None The value for the new object's interpreter_path field. Do not give a value for this argument if you pass in interpreter .
|
interpreter
|
File; or None ;
default is None The value for the new object's interpreter field. Do not give a value for this argument if you pass in interpreter_path .
|
files
|
depset of Files; or None ;
default is None The value for the new object's files field. Do not give a value for this argument if you pass in interpreter_path . If interpreter is given and this argument is None , files becomes an empty depset instead.
|
coverage_tool
|
File; or None ;
default is None The value for the new object's coverage_tool field.
|
coverage_files
|
depset of Files; or None ;
default is None The value for the new object's coverage_files field. Do not give a value for this argument if you do not also pass in coverage_tool .
|
python_version
|
required The value for the new object's python_version field.
|
stub_shebang
|
string;
default is None The value for the new object's stub_shebang field. If None or not specified, #!/usr/bin/env python3 is used.
|
bootstrap_template
|
File; or None ;
default is None |
bootstrap_template
File PyRuntimeInfo.bootstrap_templateThe stub script template file to use. Should have %python_binary%, %workspace_name%, %main%, and %imports%. See @bazel_tools//tools/python:python_bootstrap_template.txt for more variables.
coverage_files
depset PyRuntimeInfo.coverage_filesThe files required at runtime for using
coverage_tool
. Will be None
if no coverage_tool
was provided.
May return None
.
coverage_tool
File PyRuntimeInfo.coverage_toolIf set, this field is a
File
representing tool used for collecting code coverage information from python tests. Otherwise, this is None
.
May return None
.
files
depset PyRuntimeInfo.filesIf this is an in-build runtime, this field is a
depset
of File
s that need to be added to the runfiles of an executable target that uses this runtime (in particular, files needed by interpreter
). The value of interpreter
need not be included in this field. If this is a platform runtime then this field is None
.
May return None
.
interpreter
File PyRuntimeInfo.interpreterIf this is an in-build runtime, this field is a
File
representing the interpreter. Otherwise, this is None
. Note that an in-build runtime can use either a prebuilt, checked-in interpreter or an interpreter built from source.
May return None
.
interpreter_path
string PyRuntimeInfo.interpreter_pathIf this is a platform runtime, this field is the absolute filesystem path to the interpreter on the target platform. Otherwise, this is
None
.
May return None
.
python_version
string PyRuntimeInfo.python_versionIndicates whether this runtime uses Python major version 2 or 3. Valid values are (only)
"PY2"
and "PY3"
.
stub_shebang
string PyRuntimeInfo.stub_shebang"Shebang" expression prepended to the bootstrapping Python stub script used when executing
py_binary
targets. Does not apply to Windows.