So a simple

modules/mymoduleA.py
modules/mymoduleB.py

# mymoduleA.py
import mymoduleB.py

def functionA():
   print mymoduleB.functionB()

should work ?

-Thadeus





On Fri, Feb 26, 2010 at 6:42 AM, mdipierro <mdipie...@cs.depaul.edu> wrote:
> The problem with Python is that path for searching modules is one for
> each process and not one per thread or one per application.
>
> This means if you use third part modules you should install them AS IF
> web2py was not there and import them from web2py in the usual way.
>
> If you want to make some modules part of an app (i.e. place them in
> the modules/ folder of the app) you have to be careful. Not all
> modules are suitable. In particular if the module consists of multiple
> files they should import each other using only paths relative to the
> folder where the importing file is located because the modules/ folder
> IS NOT and CANNOT be added to the search path.
>
> Massimo
>
>
>
> On Feb 26, 5:46 am, Tiago Almeida <tiago.b.alme...@gmail.com> wrote:
>> Allow me to hijack this thread for a related question.
>>
>> How do you usually import a module from a module. I've tried using
>> local_import but I had problems (don't remember details) so I solved the
>> problem by hardcoding the path like 'applications.<appname>/modules/...' but
>> don't like it.
>> Can local_import do this and I used it incorrectly?
>>
>> Thanks a lot in advance.
>>
>> Best regards,
>> Tiago
>> ------
>>
>> On Fri, Feb 26, 2010 at 2:11 AM, Thadeus Burgess 
>> <thade...@thadeusb.com>wrote:
>>
>> > Done.
>>
>> > -Thadeus
>>
>> > On Thu, Feb 25, 2010 at 7:06 PM, Jonathan Lundell <jlund...@pobox.com>
>> > wrote:
>> > > On Feb 25, 2010, at 4:19 PM, mr.freeze wrote:
>>
>> > >> Just do: dt = local_import('datatables')
>>
>> > > Thanks. Maybe the book should reflect this:
>> >http://web2py.com/book/default/section/4/18
>>
>> > > (I'd make the change, but I'm a little fuzzy on the details.)
>>
>> > >> On Feb 25, 6:11 pm, Jonathan Lundell <jlund...@pobox.com> wrote:
>> > >>> I've made a module that does a nice job, if I do say so myself, of
>> > encapsulating DataTables (I'll post something about it eventually).
>>
>> > >>> Since it's a module, I need to import it to my controller, which I'm
>> > doing like so:
>>
>> > >>> import sys
>> > >>> sys.path.append(request.folder)
>> > >>> import modules.datatables as dt
>>
>> > >>> My question: is there a better way to manage this? At first I was
>> > building the import path all the way from the web2py base, but I didn't 
>> > want
>> > to include the literal application name.
>>
>> > > --
>> > > You received this message because you are subscribed to the Google Groups
>> > "web2py-users" group.
>> > > To post to this group, send email to web...@googlegroups.com.
>> > > To unsubscribe from this group, send email to
>> > web2py+unsubscr...@googlegroups.com<web2py%2bunsubscr...@googlegroups.com>
>> > .
>> > > For more options, visit this group at
>> >http://groups.google.com/group/web2py?hl=en.
>>
>> > --
>> > You received this message because you are subscribed to the Google Groups
>> > "web2py-users" group.
>> > To post to this group, send email to web...@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > web2py+unsubscr...@googlegroups.com<web2py%2bunsubscr...@googlegroups.com>
>> > .
>> > For more options, visit this group at
>> >http://groups.google.com/group/web2py?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "web2py-users" group.
> To post to this group, send email to web...@googlegroups.com.
> To unsubscribe from this group, send email to 
> web2py+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/web2py?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to