|
jalil
jalil at securia.com
Sun Feb 8 16:23:10 EST 2004
Thanks for the info. I remember reading some notes on PSP where there
was a pylib dir and the sys.path was set to include pylib. I just
followed the example. My fault!
I made changes and I now don't set the sys.path anymore. I turned my
pylib dir into a package and then imported modules explicitly using the
apache.import_module("pylib.<module>") in my psp files. However, when I
run both apps, the base dir of both apps appears in the sys.path (which
now makes sense) in a random order, so, to prevent the problem, I still
have to rename my pylib dir to pylibs in test dir and modify the path in
the import_apache calls when I move the files for testing.
It is not a clean solution but works for now. If there is a better way
to do this (without using virtual hosts or a sub-interpreter), please
let me know.
Thanks,
-Jalil
Gregory (Grisha) Trubetskoy wrote:
>On Sun, 8 Feb 2004, jalil wrote:
>
>
>
>>I think Apache starts mod_python in one process and shares it across
>>apps and when I set sys.path in one app it is visible to the other app.
>>
>>
>
>This is the way it should work. sys.path is global to the sub-intepreter,
>so if both apps are running in the same sub-interpreter, then they share
>sys.path (as well as lots of other things).
>
>There are two things you can do - first rethink your app so that you don't
>have to change sys.path, the second way is to ensure that the apps are
>running in seprate sub-interpreters.
>
>The manual has more info on this:
>
>http://www.modpython.org/live/current/doc-html/pyapi-interps.html
>
>Grisha
>
>
>
|