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:
jythoncoptionsmodules
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access