[ https://issues.apache.org/jira/browse/MODPYTHON-220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506331 ]
Graham Dumpleton commented on MODPYTHON-220: -------------------------------------------- Workaround is that instead of using: import module use: from mod_python import apache module = apache.import_module("module") > In PSP pages, 'import' doesn't map through to apache.import_module(). > --------------------------------------------------------------------- > > Key: MODPYTHON-220 > URL: https://issues.apache.org/jira/browse/MODPYTHON-220 > Project: mod_python > Issue Type: Improvement > Components: psp > Affects Versions: 3.3.1 > Reporter: Graham Dumpleton > > When Python code appears in SSI files, a trick is performed such that the > Python code in the SSI files is seen as having been originally imported using > the new module importer. This means that if 'import' is used with the Python > code, it will map through to apache.import_module() and first use that > mechanism to try and import code modules. This trick is not performed for PSP > pages however. > What needs to be done for PSP pages is the equivalent of the SSI trick: > class _InstanceInfo: > def __init__(self, label, file, cache): > self.label = label > self.file = file > self.cache = cache > self.children = {} > filter.req.ssi_globals["__file__"] = filter.req.filename > filter.req.ssi_globals["__mp_info__"] = _InstanceInfo( > None, filter.req.filename, None) > filter.req.ssi_globals["__mp_path__"] = [] > What this is doing is setting up in the environment of the SSI code object > the magic variables that 'import' hook looks for to allow it to map to > apache.import_module(). > If same done in PSP pages then 'import' will map to apache.import_module() > for PSP pages also as first step. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.