Compiling Python into Java
Jython comes with the
jythonc
compiler. You can feed
jythonc
your .py
source
files, and jythonc
compiles them into normal JVM
bytecode and packages them into .class
and
.jar
files. Since jythonc
generates static, classic bytecode, it cannot quite cope with the
whole range of dynamic possibilities that Python allows. For example,
jythonc
cannot successfully compile Python
classes that determine their base classes dynamically at runtime, as
the normal Python interpreters allow. However, except for such
extreme examples of dynamically changeable class structures,
jythonc
does support compilation of essentially
the whole Python language into Java bytecode.
The jythonc command
jythonc
resides in
the Tools/jythonc directory of your Jython
installation. You invoke it from a shell (console) command line with
the syntax:
jythoncoptions
modules
options
are zero or more option flags
starting with --
.
modules
are zero or more names of Python
source files to compile, either as Python-style names of modules
residing on Python’s sys.path
, or
as relative or absolute paths to Python source files. Include the
.py
extension in each path to a source file, but
not in a module name.
More often than not, you will specify the
jythonc
option --jar
jarfile
, to build a
.jar
file of compiled bytecode rather than
separate .class
files. Most other options deal
with what to put in the .jar
file. You can choose to make the file self-sufficient (for browsers and other Java runtime ...
Get Python in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.