From: Frank W. <fwi...@gm...> - 2008-07-31 22:43:06
|
On Thu, Jul 31, 2008 at 3:02 PM, Nicholas Riley <nj...@ui...> wrote: > Hi folks, > > We're trying to clean up the multitude of ways Jython reads settings > (properties, options) and would appreciate your input on what bits of > customization you use and which ones you'd like to see added or removed. > > Jython reads settings/options/properties at startup from several > sources. From the standpoint of a user of the interactive interpreter, > they are: > > - Java system properties (-J-Dxxx=yyy with new launcher script) > - Registry (prop=value in file jython_home/registry or $HOME/.jython) > - Jython properties (-Dxxx=yyy) > > There exist several partial attempts at documenting these settings. > I've attempted to enumerate them all here: > > <http://wiki.python.org/jython/Settings> Thanks for all of this analysis -- I imagine it was pretty tedious! > Some cases in which I'm pretty sure Jython is not behaving as designed > or expected: > > 1. If a registry file is present, the Java system properties are ignored > completely. I agree that seems strange. > 2. If both registry files are present, the "registry" one is ignored > completely. also strange -- does seem like there should be a merging behavior. > 3. If a property exists in the registry, it takes precedence over a > command-line option (e.g., python.verbose trumps -v[vv]). That is definitely silly - the command-line should definitely win. > Some changes I'm considering making: > > 1. Merge system properties and registry files into the registry, rather > than replacing them outright. +1 > 2. Make command-line options take precedence over registry options. +1 > 3. Read from the JYTHONPATH environment variable, replacing python.path > in the registry (or in system properties?). This is analogous to > IronPython's IRONPYTHONPATH. +1 > CPython understands a bunch more environment variables (e.g. > PYTHONDEBUG, PYTHONINSPECT) but I'm not sure we really need to support > them, either in place or renamed. Should the JYTHONPATH mapping happen > in the launcher scripts or Jython itself? I would prefer it to happen from Jython itself, this seems fundamental enough to want to avoid shell scripting tricks to me. > One last thing: in CPython, setting PYTHONPATH places the items after > the current directory, but before the standard library. Setting > python.path in Jython places the items after the standard library; you > must use python.prepath to get the CPython behavior. That sounds like a bug unless it is unavoidable for some reason. > It looks like the reason for this change is no longer applicable: > > <http://www.jython.org/cgi-bin/faqw.py?req=show&file=faq02.003.htp> > > as the Python standard library is now included with Jython by default, > so perhaps python.prepath should be removed and python.path take its > place? Or do we need a python.postpath? Does anyone take advantage of > this ordering? I'd be happier if we can get rid of this. -Frank |