Differences between revisions 8 and 10 (spanning 2 versions)
Revision 8 as of 2008-11-15 09:16:02
Size: 5921
Editor: localhost
Comment: converted to 1.6 markup
Revision 10 as of 2009-01-27 08:25:07
Size: 5929
Editor: c-98-212-140-18
Comment: defaulting to including Java stack now (makes throwing much more expensive)
Deletions are marked like this. Additions are marked like this.
Line 39: Line 39:
|| python.options.includeJavaStackInExceptions || Options.includeJavaStackInExceptions|| false || || python.options.includeJavaStackInExceptions || Options.includeJavaStackInExceptions|| true ||
Line 54: Line 54:
{X} gone in asm branch {X} gone in Jython 2.5 or later

Methods of specifying Jython settings

  • preProperties, typically Java system properties specified with -D before class/jar specification on Java command line

  • Registry: property files registry in Jython root and .jython in user.home; if both are present, the latter replaces the former completely. If either is present, the Java system properties are replaced entirely. (This is likely a bug in PySystemState.addRegistryFile.) See Finding the Registry File for more information.

  • postProperties, typically Jython properties specified with -D after class/jar specification on Java command line (these overwrite Java system properties, too.)

For preProperties and postProperties, alternate properties may be passed to PySystemState.initialize or PythonInterpreter.initialize by programmatic users of Jython.

The runtime registry (PySystemState.registry from Java, or sys.registry from Python) is created from the above three sources.

Other command-line arguments are written directly into Options static variables without going through the properties system; the overlapping properties are python.divisionWarning, python.options.Qnew and python.verbose. In these overlapping cases, the above three sources always take precedence over the command-line equivalents. (This precedence should likely be reversed.)

Documentation

  • The options whose destinations are static variables in the Options class are well-documented there.

  • The default registry file is severely bitrotted and needs redoing.

  • The Jython user guide refers to a subset of these properties.

Source

Destination

Default

install.root

python.cachedir

PySystemState.cachedir = File(...)

"cachedir"

python.cachedir.skip

PySystemState.cachedir = null

true if standalone, else false

python.collections

PyInstance.initializeIterators

""

python.console

jython.main

"org.python.util.InteractiveConsole"

python.console.encoding

CompilerFlags.encoding

python.console.readlinelib

python.deprecated.keywordMangling

Options.deprecatedKeywordMangling

false

python.divisionWarning

Options.divisionWarning

python.executable

PySystemState.[default]Executable

set by launcher script, else null

python.home

PySystemState.[exec_]prefix

set by launcher script, else "."

python.modules.builtin

PySystemState.builtin_module_names

""; appended to Setup.builtinModules

python.options.Qnew

Options.Qnew

false

python.options.caseok

Options.caseok

false

python.options.compileClass

unused; in default registry file

false (in registry file)

python.options.includeJavaStackInExceptions

Options.includeJavaStackInExceptions

true

python.options.internalTablesImpl

InternalTables.createInternalTables

null

python.options.proxyDebugDirectory

Options.proxyDebugDirectory

null

python.options.showJavaExceptions

Options.showJavaExceptions

false

python.options.showPythonProxyExceptions

Options.showPythonProxyExceptions

false

python.os

os._name

"posix"

python.packages.directories

SysPackageManager.findAllPackages

"java.ext.dirs" (see PackageScanning)

python.packages.fakepath

SysPackageManager.findAllPackages

null

python.packages.paths

SysPackageManager.findAllPackages

"java.class.path,sun.boot.class.path"

python.path {X}

end of path after JYTHON_JAR/Lib

""

python.prepath (python.path in r5043+)

beginning of path after current dir

""

python.security.respectJavaAccessibility

Options.respectJavaAccessibility

true

python.verbose

Options.verbose

Py.MESSAGE = 1

python.xml.sax.parser

xml.sax.default_parser_list (split)

PY_SAX_PARSER, else xml.sax.drivers2.drv_javasax

{X} gone in Jython 2.5 or later

Settings (last edited 2009-01-27 08:25:07 by c-98-212-140-18)