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.
|