Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > import question

Reply
Thread Tools

import question

 
 
Raaijmakers, Vincent \(GE Infrastructure\)
Guest
Posts: n/a
 
      04-05-2004
Question:
my src path looks like this:
src\root\sub1
src\root\sub2

My main code is in root, lets say main.py and there is also a lib.py.
In sub1 there if foo1.py and sub2 foo2.py

Sorry for the long introduction...please don't stop reading...

In both sub1 and sub2 there is an empty __init__.py for making them a package.
Ok the problem:

this works fine:

main.py
from sub1 import foo1
from sub1 import foo2

However, in foo1 and foo2 I have this line "import lib".

So lib.py is not in the same path as foo1.py and foo2.py, it seems to find lib.py in a higher path.
(Reason for this is the import from main , which has lib.py in the same path?)

However, if I'm in the subfolders sub1 or sub2, and I run foo1.py or foo2.py standalone, they can't find lib.py. Yeah of course.

So, how to avoid this? How can I refer back to a module higher in the "hierarchical" path.
Up is so easy.. just say import foo.foo2.foo3. But up, what is the correct way of doing that?
Something to put in __init__.py, like sys.path.apppend('..')? Looks ugly to me....

Or, the way how I share lib for both files is wrong, please let me know.
Anyway, I need this behavior because of my unittest structure.

Thanks,
Vincent

 
Reply With Quote
 
 
 
 
Josiah Carlson
Guest
Posts: n/a
 
      04-05-2004
> So, how to avoid this? How can I refer back to a module higher in the "hierarchical" path.
> Up is so easy.. just say import foo.foo2.foo3. But up, what is the correct way of doing that?
> Something to put in __init__.py, like sys.path.apppend('..')? Looks ugly to me....


PEP 328, Relative imports should take care of your issue.

In the meantime...

#in main.py
import lib

#in foo1.py and foo2.py
import sys
lib = sys.modules['lib']


Now both of them will refer to the same 'lib' that main.py imported.

- Josiah
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
to use import java.lang.* or import java.lang.Math or none at all? JPractitioner Java 13 02-24-2006 08:48 PM
XML Schema question - does "import" import elements? Vitali Gontsharuk XML 2 08-25-2005 07:33 PM
IMPORT STATIC; Why is "import static" file scope? Why not class scope? Paul Opal Java 12 10-10-2004 11:01 PM
GTK import doesn't import first time Dennis Python 2 08-18-2003 10:00 PM
import/from import question Artur M. Piwko Python 1 07-02-2003 07:04 PM



Advertisments