1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
<!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="prev" href="dir-other-po.html">
<LINK REL="parent" href="dir-other.html">
<LINK REL="next" href="handlers.html">
<meta name='aesop' content='information'>
<META NAME="description" CONTENT="PythonPath">
<META NAME="keywords" CONTENT="modpython">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>5.4.11 PythonPath</title>
</head>
<body>
<DIV CLASS="navigation">
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><a rel="prev" title="5.4.10 PythonOption"
href="dir-other-po.html"><img src='previous.gif'
border='0' height='32' alt='Previous Page' width='32'></A></td>
<td><a rel="parent" title="5.4 Other Directives"
href="dir-other.html"><img src='up.gif'
border='0' height='32' alt='Up One Level' width='32'></A></td>
<td><a rel="next" title="6. Standard Handlers"
href="handlers.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">Mod_python Manual</td>
<td><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif'
border='0' height='32' alt='Contents' width='32'></A></td>
<td><img src='blank.gif'
border='0' height='32' alt='' width='32'></td>
<td><a rel="index" title="Index"
href="genindex.html"><img src='index.gif'
border='0' height='32' alt='Index' width='32'></A></td>
</tr></table>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="dir-other-po.html">5.4.10 PythonOption</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="handlers.html">6. Standard Handlers</A>
<br><hr>
</DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION0074110000000000000000"> </A>
<a name="l2h-271"> </a>
<BR>
5.4.11 PythonPath
</H2>
<P>
<b><em class="citetitle"><a
href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Syntax"
title="Syntax:"
>Syntax:</a></em></b>
PythonPath <i>path</i>
<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, virtual host, directory, htaccess
<BR><em class="citetitle"><a
href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Override"
title="Override:"
>Override:</a></em>
not None
<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>
PythonPath directive sets the PythonPath. The path must be specified
in Python list notation, e.g.
<P>
<div class="verbatim"><pre>
PythonPath "['/usr/local/lib/python2.0', '/usr/local/lib/site_python', '/some/other/place']"
</pre></div>
<P>
The path specified in this directive will replace the path, not add to
it. However, because the value of the directive is evaled, to append a
directory to the path, one can specify something like
<P>
<div class="verbatim"><pre>
PythonPath "sys.path+['/mydir']"
</pre></div>
<P>
Mod_python tries to minimize the number of evals associated with the
PythonPath directive because evals are slow and can negatively impact
performance, especially when the directive is specified in an
<span class="file">.htaccess</span> file which gets parsed at every hit. Mod_python will
remember the arguments to the PythonPath directive in the un-evaled
form, and before evaling the value it will compare it to the
remembered value. If the value is the same, no action is
taken. Because of this, you should not rely on the directive as a way
to restore the pythonpath to some value if your code changes it.
<P>
<div class="note"><b class="label">Note:</b>
This directive should not be used as a security measure since the
Python path is easily manipulated from within the scripts.
</div>
<DIV CLASS="navigation">
<p><hr>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><a rel="prev" title="5.4.10 PythonOption"
rel="prev" title="5.4.10 PythonOption"
href="dir-other-po.html"><img src='previous.gif'
border='0' height='32' alt='Previous Page' width='32'></A></td>
<td><a rel="parent" title="5.4 Other Directives"
rel="parent" title="5.4 Other Directives"
href="dir-other.html"><img src='up.gif'
border='0' height='32' alt='Up One Level' width='32'></A></td>
<td><a rel="next" title="6. Standard Handlers"
rel="next" title="6. Standard Handlers"
href="handlers.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">Mod_python Manual</td>
<td><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif'
border='0' height='32' alt='Contents' width='32'></A></td>
<td><img src='blank.gif'
border='0' height='32' alt='' width='32'></td>
<td><a rel="index" title="Index"
rel="index" title="Index"
href="genindex.html"><img src='index.gif'
border='0' height='32' alt='Index' width='32'></A></td>
</tr></table>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="dir-other-po.html">5.4.10 PythonOption</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="handlers.html">6. Standard Handlers</A>
<hr>
<span class="release-info">Release 3.2.10, documentation updated on July 19, 2006.</span>
</DIV>
<!--End of Navigation Panel-->
</BODY>
</HTML>
|