In mod_wsgi version 3.0 there is a new feature which will make that
sort of thing much easier. Before I go into any detail though, can you
detail what features of mod_python were you using. Ie., which of the
following were you using.

- Custom handler.
- Publisher
- PSP
- Sessions
- Cookies

Also, what are your plans as far as replacing the mod_python request
object with something else.

This will give me better context as to how much changes you need to
make to move away from mod_python.

BTW, have changed subject line given that the discussion is likely to
go beyond just import issues.

Graham

2009/7/7 AJ Coon <[email protected]>:
> Sorry to wake such an old thread...
>
> I've read similar responses by Graham to this issue.  Philosophically I
> agree with the assertion that application code should not live under a
> web-published directory.  That said, I am working on porting a mod_python
> application to mod_wsgi and want to show that it can be done with minimal
> effort and minimal impact on the current environment.  Moving
> files/directories would be perceived as a bad thing in my situation, at
> least until I can prove that mod_wsgi is a viable replacement.
>
> Is there some *trick* to importing files in the same directory as the wsgi
> application module?  Every method I've tried (SetEnv PYTHONPATH,
> sys.path.append, WSGIPythonPath) seems to fail to achieve this effect.
>
>
> Thanks in advance,
> -aj
>
> On Tue, Apr 7, 2009 at 7:01 PM, Graham Dumpleton
> <[email protected]> wrote:
>>
>> 2009/4/8 adam.ec <[email protected]>:
>> >
>> > I've just started developing applications using mod_wsgi. I am
>> > currently migrating an old and simple application from CherryPy. In
>> > CherryPy I had a separate module for internal custom functions called
>> > fn.py. It was a simple case of writing:
>> >
>> > import fn
>> >
>> > at the top of the main application script. Now I am trying to do the
>> > same thing with mod_wsgi and I just keep getting Internal Server
>> > Errors. When I check the apache2 error log it reports that there is no
>> > module named fn. I tried renaming it to fn.wsgi and still have no luck
>> > in accessing my custom functions.
>> >
>> > How do I access fn.py or fn.wsgi?
>>
>> Take not of what is said in:
>>
>>
>>  http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode#Module_Reloading_Mechanism
>>
>> The short of it though is that the directory containing the script
>> file is not looked in by default for other Python module imports. It
>> is also bad practice to be explicitly adding that directory to
>> sys.path to make it work. This is because that directory will be setup
>> to be exposable via Apache access rules. If you you stick other Python
>> code in that directory, and you stuff up your Apache configuration
>> allow that directory to be served as static files, or were using
>> AddHandler to allow WSGI script files to work in the first place, then
>> external clients could download your source code.
>>
>> The recommended approach therefore is that WSGI script files contain
>> as little as possible and the real code of your application be placed
>> in modules located in a completely different directory, outside of any
>> directories exposed via Apache. To have that separate directory
>> searching for Python modules, for embedded mode use WSGIPythonPath
>> directive, for daemon mode use python-path option to
>> WSGIDaemonProcess, or simply add it into sys.path in the WSGI script
>> file. Do note comments in document above about how to safely add stuff
>> into sys.path.
>>
>> Graham
>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to