Packages

K

Kevin T. Ryan

Hi All -

I'm having a problem and I hope you can help. I can't seem to import
packages from within the package substructure as I think I should be
able to. For example, I create a directory structure as follows:

testpkg
__init__.py [empty]
testsub1/
__init__.py [empty]
bad.py [import testpkg.testsub2.good; print "hello from bad"] <-
error
testsub2/
__init__.py [empty]
good.py [print "hello from good"]

Whenever I try to run bad.py (just python bad.py from within the
testsub2 subdirectory or from above the testpkg directory) I get an
error. For example:

$ python testpkg/testsub1/bad.py
Traceback (most recent call last):
File "testpkg/testsub1/bad.py", line 1, in <modul
import testpkg.testsub2.good
ImportError: No module named testpkg.testsub2.good

How can I get my subpackages to recognize other subpackages in the
same top-level package? Thanks in advance!!

Kevin
 
A

Alex Popescu

Hi All -

I'm having a problem and I hope you can help. I can't seem to import
packages from within the package substructure as I think I should be
able to. For example, I create a directory structure as follows:

testpkg
__init__.py [empty]
testsub1/
__init__.py [empty]
bad.py [import testpkg.testsub2.good; print "hello from bad"] <-
error
testsub2/
__init__.py [empty]
good.py [print "hello from good"]

Whenever I try to run bad.py (just python bad.py from within the
testsub2 subdirectory or from above the testpkg directory) I get an
error. For example:

$ python testpkg/testsub1/bad.py
Traceback (most recent call last):
File "testpkg/testsub1/bad.py", line 1, in <modul
import testpkg.testsub2.good
ImportError: No module named testpkg.testsub2.good

How can I get my subpackages to recognize other subpackages in the
same top-level package? Thanks in advance!!

Kevin

When executing bad.py python will be looking for imported module (in the
standard path) and then in your current directory (so to find it you
should have testsub1/testpkg/testsub2). You can solve this by adding
your toplevel director (the parent of testpkg) to the PYTHONPATH.

bests,
../alex
 
K

Kevin T. Ryan

I'm having a problem and I hope you can help. I can't seem to import
packages from within the package substructure as I think I should be
able to. For example, I create a directory structure as follows:
testpkg
__init__.py [empty]
testsub1/
__init__.py [empty]
bad.py [import testpkg.testsub2.good; print "hello from bad"] <-
error
testsub2/
__init__.py [empty]
good.py [print "hello from good"]
Whenever I try to run bad.py (just python bad.py from within the
testsub2 subdirectory or from above the testpkg directory) I get an
error. For example:
$ python testpkg/testsub1/bad.py
Traceback (most recent call last):
File "testpkg/testsub1/bad.py", line 1, in <modul
import testpkg.testsub2.good
ImportError: No module named testpkg.testsub2.good
How can I get my subpackages to recognize other subpackages in the
same top-level package? Thanks in advance!!

When executing bad.py python will be looking for imported module (in the
standard path) and then in your current directory (so to find it you
should have testsub1/testpkg/testsub2). You can solve this by adding
your toplevel director (the parent of testpkg) to the PYTHONPATH.

bests,
./alex

Ok, thanks. I was under the impression that this wouldn't be
necessary (eg, see http://docs.python.org/tut/node8.html#SECTION008420000000000000000),
but perhaps I was wrong. Thanks again for the advice :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,954
Messages
2,570,116
Members
46,704
Latest member
BernadineF

Latest Threads

Top