Create a PythonPath.  You almost certainly want to use 
modules.theSystemPath, or its aliased methods, rather than creating a new 
instance yourself, though.
All parameters are optional, and if unspecified, will use 'system' 
equivalents that makes this PythonPath like the global 
theSystemPath instance.
| Parameters | sysPath | a sys.path-like list to use for this PythonPath, to specify where to load 
modules from.
 | 
 | moduleDict | a sys.modules-like dictionary to use for keeping track of what modules this
PythonPath has loaded.
 | 
 | sysPathHooks | sys.path_hooks-like list of PEP-302 path hooks to be used for this 
PythonPath, to determie which importers should be used.
 | 
 | importerCache | a sys.path_importer_cache-like list of PEP-302 importers.  This will be 
used in conjunction with the given sysPathHooks.
 | 
 | moduleLoader | a module loader function which takes a string and returns a module.  That 
is to say, it is like namedAny - 
*not* like __import__.
 | 
 | sysPathFactory | a 0-argument callable which returns the current value of a sys.path-like 
list of strings.  Specify either this, or sysPath, not both.  This 
alternative interface is provided because the way the Python import 
mechanism works, you can re-bind the 'sys.path' name and that is what is 
used for current imports, so it must be a factory rather than a value to 
deal with modification by rebinding rather than modification by mutation.  
Note: it is not recommended to rebind sys.path.  Although this mechanism 
can deal with that, it is a subtle point which some tools that it is easy 
for tools which interact with sys.path to miss.
 |