|
Stephen Potenza
steve at potenzaconsulting.com
Thu May 26 18:10:43 EDT 2005
Graham,
Here is my directory structure:
/var/www/python/
index.py
steve/
__init__.py
dummy.py
sys.path (from my simple index.py publisher and run using the browser):
/var/www/
/usr/lib/python23.zip
/usr/lib/python2.3
/usr/lib/python2.3/plat-linux2
/usr/lib/python2.3/lib-tk
/usr/lib/python2.3/lib-dynload
/usr/local/lib/python2.3/site-packages
/usr/lib/python2.3/site-packages
I'm not overriding the PythonPath directive and I'm using the main
Apache configuration to enable use of the publisher:
<Directory /var/www/>
...
SetHandler mod_python
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
Graham Dumpleton wrote:
> Where is the "steve" package located in relation to the directory
> containing the handler? What is your Python sys.path set to? Are
> you overriding "PythonPath" directive? Are you using a ".htaccess"
> file to enable use of publisher or the main Apache configuration
> file? If the latter, have you used the "Directory" directive or
> the "Location" directive to surround the mod_python definitions?
>
> Try and answer these questions. Also post what the part of your
> Apache configuration looks like where you enable use of publisher
> for mod_python.
>
> One warning, if you use "Location" in the Apache configuration
> instead of "Directory", mod_python will not be able to add to the
> Python module search path the physical directory for which the
> PythonHandler directive is defined, ie., where your handler
> potentially resides. As such, if your "steve" package is in a
> subdirectory of your handler it will not be able to find it.
> Further, even if "Directory" is used, if both the handler and
> the "steve" package are in a subdirectory of the directory for
> which PythonHandler is defined, it will not find "steve" as only
> the top most PythonHandler directory is added to the module search
> path.
>
> Anyway, explain better how your directories are laid out etc
> and then we might be able to be more specific.
>
> Graham
>
>
> On 27/05/2005, at 7:08 AM, Stephen Potenza wrote:
>
>> I setup a simple mod_python publisher and it's working perfectly.
>>
>> [index.py]
>> def index():
>> return "hi from index"
>>
>> When I access it through http://localhost/python/, I see "hi from
>> index"... everything works fine.
>>
>>
>> However, when I try import a module from a package I created named
>> "steve", I get the following error:
>>
>> -------------------------------------------------------------------
>> Mod_python error: "PythonHandler mod_python.publisher"
>>
>> Traceback (most recent call last):
>>
>> File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line
>> 299, in HandlerDispatch
>> result = object(req)
>>
>> File "/usr/lib/python2.3/site-packages/mod_python/publisher.py", line
>> 98, in handler
>> path=[path])
>>
>> File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line
>> 457, in import_module
>> module = imp.load_module(mname, f, p, d)
>>
>> File "/var/www/python/index.py", line 1, in ?
>> from steve import dummy
>>
>> ImportError: No module named steve
>> -------------------------------------------------------------------
>>
>> [index.py]
>> from steve import dummy
>>
>> def index():
>> return dummy.say()
>>
>> if __name__ == "__main__":
>> print index()
>>
>>
>> The "steve" package/directory contains two files:
>>
>> - __init__.py (blank)
>> - dummy.py
>>
>> [dummy.py]
>> def say():
>> return "this is dummy!"
>>
>> When I run index.py from the command line, it works perfectly. Any
>> ideas??
>>
>> Thanks,
>> Steve
>> _______________________________________________
>> Mod_python mailing list
>> Mod_python at modpython.org
>> http://mailman.modpython.org/mailman/listinfo/mod_python
>
>
--
Stephen Potenza
Potenza Consulting
916.207.0578
steve at potenzaconsulting.com
http://www.potenzaconsulting.com
|