| |
| |
| <!-- |
| Documentation generated by Skydoc |
| --> |
| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width initial-scale=1" /> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| |
| <title>Build self-contained python executables.</title> |
| |
| <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700" type="text/css"> |
| <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> |
| <link rel="stylesheet" href="https://code.getmdl.io/1.1.1/material.green-light_blue.min.css"> |
| <script defer src="https://code.getmdl.io/1.1.1/material.min.js"></script> |
| <link rel="stylesheet" href="./main.css"> |
| </head> |
| <body> |
| <div class="mdl-layout mdl-js-layout mdl-layout--fixed-drawer |
| mdl-layout--fixed-header"> |
| <header class="mdl-layout__header"> |
| <div class="mdl-layout__header-row"> |
| <span class="mdl-layout-title">Build self-contained python executables.</span> |
| </div> |
| </header> |
| <div class="mdl-layout__drawer"> |
| <span class="mdl-layout-title">Bazel</span> |
| <nav class="drawer-nav"> |
| <ul class="drawer-nav"> |
| |
| <li><a href="./index.html">Overview</a></li> |
| <li> |
| <a href="./debug.html">debug Rules</a> |
| <ul> |
| </ul> |
| </li> |
| <li><a href="./index.html">Overview</a></li> |
| <li> |
| <a href="./subpar.html">Build self-contained python executables.</a> |
| <ul> |
| <li> |
| <a href="./subpar.html#parfile"> |
| parfile |
| </a> |
| </li> |
| <li> |
| <a href="./subpar.html#parfile_test"> |
| parfile_test |
| </a> |
| </li> |
| </ul> |
| </li> |
| |
| </ul> |
| </nav> |
| </div> |
| |
| <main class="mdl-layout__content"> |
| <div class="page-content"> |
| <h1>Build self-contained python executables.</h1> |
| |
| <nav class="toc"> |
| <h2>Rules</h2> |
| <ul> |
| <li><a href="#parfile">parfile</a></li> |
| <li><a href="#parfile_test">parfile_test</a></li> |
| </ul> |
| <h2>Macros</h2> |
| <ul> |
| <li><a href="#par_binary">par_binary</a></li> |
| <li><a href="#par_test">par_test</a></li> |
| </ul> |
| </nav> |
| <hr> |
| |
| <h2 id="par_binary">par_binary</h2> |
| |
| <pre>par_binary(<a href="#par_binary.name">name</a>)</pre> |
| |
| <p>An executable Python program.</p> |
| <p>par_binary() is a drop-in replacement for py_binary() that also |
| builds a self-contained, single-file executable for the |
| application, with a .par file extension.</p> |
| <p>The <code>name</code> attribute shouldn't include the <code>.par</code> file extension, |
| it's added automatically. So, for a rule like |
| <code>par_binary(name="myname")</code>, build the file <code>myname.par</code> by doing |
| <code>bazel build //mypackage:myname.par</code></p> |
| <p>See <a href="http://www.bazel.io/docs/be/python.html#py_binary">py_binary</a> |
| for arguments and usage.</p> |
| |
| |
| <h3 id="par_binary_args">Attributes</h3> |
| |
| <table class="params-table"> |
| <colgroup> |
| <col class="col-param" /> |
| <col class="col-description" /> |
| </colgroup> |
| <tbody> |
| <tr id="par_binary.name"> |
| <td><code>name</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#name">Name</a>; Required</code></p> |
| <p>A unique name for this rule.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <hr> |
| |
| <h2 id="par_test">par_test</h2> |
| |
| <pre>par_test(<a href="#par_test.name">name</a>)</pre> |
| |
| <p>An executable Python test.</p> |
| <p>Just like par_binary, but for py_test instead of py_binary. Useful if you |
| specifically need to test a module's behaviour when used in a .par binary.</p> |
| |
| |
| <h3 id="par_test_args">Attributes</h3> |
| |
| <table class="params-table"> |
| <colgroup> |
| <col class="col-param" /> |
| <col class="col-description" /> |
| </colgroup> |
| <tbody> |
| <tr id="par_test.name"> |
| <td><code>name</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#name">Name</a>; Required</code></p> |
| <p>A unique name for this rule.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <hr> |
| |
| <h2 id="parfile">parfile</h2> |
| |
| <pre>parfile(<a href="#parfile.name">name</a>, <a href="#parfile.src">src</a>, <a href="#parfile.compiler">compiler</a>, <a href="#parfile.default_python_version">default_python_version</a>, <a href="#parfile.imports">imports</a>, <a href="#parfile.main">main</a>)</pre> |
| |
| <p>A self-contained, single-file Python program, with a .par file extension.</p> |
| <p>You probably want to use par_binary() instead of this.</p> |
| <p>TODO(b/27502830): A directory foo.par.runfiles is also created. This |
| is a bug, don't use or depend on it.</p> |
| |
| |
| <h3 id="parfile_args">Attributes</h3> |
| |
| <table class="params-table"> |
| <colgroup> |
| <col class="col-param" /> |
| <col class="col-description" /> |
| </colgroup> |
| <tbody> |
| <tr id="parfile.name"> |
| <td><code>name</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#name">Name</a>; Required</code></p> |
| <p>A unique name for this rule.</p> |
| </td> |
| </tr> |
| <tr id="parfile.src"> |
| <td><code>src</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#labels">Label</a>; Required</code></p> |
| <p>A py_binary() target</p> |
| </td> |
| </tr> |
| <tr id="parfile.compiler"> |
| <td><code>compiler</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#labels">Label</a>; Optional; Default is //compiler:compiler.par</code></p> |
| <p>Internal use only.</p> |
| </td> |
| </tr> |
| <tr id="parfile.default_python_version"> |
| <td><code>default_python_version</code></td> |
| <td> |
| <p><code>String; Required</code></p> |
| <p>A string specifying the default Python major version to use when building this par file.</p> |
| <p>See <a href="http://www.bazel.io/docs/be/python.html#py_binary.default_python_version">py_binary.default_python_version</a></p> |
| </td> |
| </tr> |
| <tr id="parfile.imports"> |
| <td><code>imports</code></td> |
| <td> |
| <p><code>List of strings; Optional; Default is []</code></p> |
| <p>List of import directories to be added to the PYTHONPATH.</p> |
| <p>See <a href="http://www.bazel.io/docs/be/python.html#py_binary.imports">py_binary.imports</a></p> |
| </td> |
| </tr> |
| <tr id="parfile.main"> |
| <td><code>main</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#labels">Label</a>; Required</code></p> |
| <p>The name of the source file that is the main entry point of |
| the application.</p> |
| <p>See <a href="http://www.bazel.io/docs/be/python.html#py_binary.main">py_binary.main</a></p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <hr> |
| |
| <h2 id="parfile_test">parfile_test</h2> |
| |
| <pre>parfile_test(<a href="#parfile_test.name">name</a>, <a href="#parfile_test.src">src</a>, <a href="#parfile_test.compiler">compiler</a>, <a href="#parfile_test.default_python_version">default_python_version</a>, <a href="#parfile_test.imports">imports</a>, <a href="#parfile_test.main">main</a>)</pre> |
| |
| <p>Identical to par_binary, but the rule is marked as being a test.</p> |
| <p>You probably want to use par_test() instead of this.</p> |
| |
| |
| <h3 id="parfile_test_args">Attributes</h3> |
| |
| <table class="params-table"> |
| <colgroup> |
| <col class="col-param" /> |
| <col class="col-description" /> |
| </colgroup> |
| <tbody> |
| <tr id="parfile_test.name"> |
| <td><code>name</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#name">Name</a>; Required</code></p> |
| <p>A unique name for this rule.</p> |
| </td> |
| </tr> |
| <tr id="parfile_test.src"> |
| <td><code>src</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#labels">Label</a>; Required</code></p> |
| <p>A py_binary() target</p> |
| </td> |
| </tr> |
| <tr id="parfile_test.compiler"> |
| <td><code>compiler</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#labels">Label</a>; Optional; Default is //compiler:compiler.par</code></p> |
| <p>Internal use only.</p> |
| </td> |
| </tr> |
| <tr id="parfile_test.default_python_version"> |
| <td><code>default_python_version</code></td> |
| <td> |
| <p><code>String; Required</code></p> |
| <p>A string specifying the default Python major version to use when building this par file.</p> |
| <p>See <a href="http://www.bazel.io/docs/be/python.html#py_binary.default_python_version">py_binary.default_python_version</a></p> |
| </td> |
| </tr> |
| <tr id="parfile_test.imports"> |
| <td><code>imports</code></td> |
| <td> |
| <p><code>List of strings; Optional; Default is []</code></p> |
| <p>List of import directories to be added to the PYTHONPATH.</p> |
| <p>See <a href="http://www.bazel.io/docs/be/python.html#py_binary.imports">py_binary.imports</a></p> |
| </td> |
| </tr> |
| <tr id="parfile_test.main"> |
| <td><code>main</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#labels">Label</a>; Required</code></p> |
| <p>The name of the source file that is the main entry point of |
| the application.</p> |
| <p>See <a href="http://www.bazel.io/docs/be/python.html#py_binary.main">py_binary.main</a></p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| |
| |
| </div> |
| |
| <footer class="mdl-mini-footer"> |
| <div class="mdl-mini-footer__left-section"> |
| <div class="mdl-logo">Bazel</div> |
| <ul class="mdl-mini-footer__link-list"> |
| <li><a href="http://bazel.io">Home</a></li> |
| <li><a href="https://github.com/bazelbuild">GitHub</a></li> |
| </ul> |
| </div> |
| </footer> |
| </main> |
| </div> |
| </body> |
| </html> |