<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <link rel="STYLESHEET" href="modpython.css" type='text/css' /> <link rel="first" href="modpython.html" title='Mod_python Manual' /> <link rel='contents' href='contents.html' title="Contents" /> <link rel='index' href='genindex.html' title='Index' /> <link rel='last' href='about.html' title='About this document...' /> <link rel='help' href='about.html' title='About this document...' /> <link rel="next" href="dir-other-ipd.html" /> <link rel="prev" href="dir-other-pd.html" /> <link rel="parent" href="dir-other.html" /> <link rel="next" href="dir-other-ipd.html" /> <meta name='aesop' content='information' /> <title>5.4.3 PythonImport</title> </head> <body> <DIV CLASS="navigation"> <div id='top-navigation-panel' xml:id='top-navigation-panel'> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="5.4.2 PythonDebug" href="dir-other-pd.html"><img src='previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="5.4 Other Directives" href="dir-other.html"><img src='up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="5.4.4 PythonInterpPerDirectory" href="dir-other-ipd.html"><img src='next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">Mod_python Manual</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><a rel="index" title="Index" href="genindex.html"><img src='index.png' border='0' height='32' alt='Index' width='32' /></A></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="dir-other-pd.html">5.4.2 PythonDebug</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="dir-other.html">5.4 Other Directives</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="dir-other-ipd.html">5.4.4 PythonInterpPerDirectory</A> </div> <hr /></div> </DIV> <!--End of Navigation Panel--> <H2><A NAME="SECTION007430000000000000000"></A><A NAME="dir-other-pimp"></A> <a id='l2h-286' xml:id='l2h-286'></a> <BR> 5.4.3 PythonImport </H2> <P> <strong><em class="citetitle"><a href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Syntax" title="Syntax:" >Syntax:</a></em></strong> PythonImport <em>module</em> <em>interpreter_name</em> <BR><em class="citetitle"><a href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Context" title="Context:" >Context:</a></em> server config <BR><em class="citetitle"><a href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Module" title="Module:" >Module:</a></em> mod_python.c <P> Tells the server to import the Python module module at process startup under the specified interpreter name. The import takes place at child process initialization, so the module will actually be imported once for every child process spawned. <P> The <var>module</var> can be a full module name (package dot notation is accepted) or an absolute path to a module code file. The module is loaded using the mod_python module importer as implemented by the <code>apache.import_module()</code> function. Reference should be made to the documentation of that function for further details of how module importing is managed. <P> The <code>PythonImport</code> directive is useful for initialization tasks that could be time consuming and should not be done at the time of processing a request, e.g. initializing a database connection. Where such initialization code could fail and cause the importing of the module to fail, it should be placed in its own function and the alternate syntax used: <P> <code>PythonImport <em>module::function</em> <em>interpreter_name</em></code> <P> The named function will be called only after the module has been imported successfully. The function will be called with no arguments. <P> <div class="note"><b class="label">Note:</b> At the time when the import takes place, the configuration is not completely read yet, so all other directives, including PythonInterpreter have no effect on the behavior of modules imported by this directive. Because of this limitation, the interpreter must be specified explicitly, and must match the name under which subsequent requests relying on this operation will execute. If you are not sure under what interpreter name a request is running, examine the <tt class="member">interpreter</tt> member of the request object. </div> <P> See also Multiple Interpreters. <P> <DIV CLASS="navigation"> <div class='online-navigation'> <p></p><hr /> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="5.4.2 PythonDebug" href="dir-other-pd.html"><img src='previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="5.4 Other Directives" href="dir-other.html"><img src='up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="5.4.4 PythonInterpPerDirectory" href="dir-other-ipd.html"><img src='next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">Mod_python Manual</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><a rel="index" title="Index" href="genindex.html"><img src='index.png' border='0' height='32' alt='Index' width='32' /></A></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="dir-other-pd.html">5.4.2 PythonDebug</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="dir-other.html">5.4 Other Directives</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="dir-other-ipd.html">5.4.4 PythonInterpPerDirectory</A> </div> </div> <hr /> <span class="release-info">Release 3.3.1, documentation updated on January 29, 2007.</span> </DIV> <!--End of Navigation Panel--> </BODY> </HTML>