Michael Wieher wrote: > stupid question: you have myPackage somewhere on sys.path? > > I mean, module1.py only knows it lives in a directory, it doesn't know > anything about anything above it. > > > > 2008/3/10, Gabriel Rossetti <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>: > > Hello, > > I have been developping something in python that has the following > hierarchy : > > project/src/myPackage/ > project/src/myPackage/__init__.py > project/src/myPackage/module1.py > project/src/myPackage/module2.py > project/src/myPackage/test/ > project/src/myPackage/test/__init__.py > project/src/myPackage/test/test_module1.py > project/src/myPackage/test/test_module2.py > project/src/myPackage/mySubPackage/__init__.py > project/src/myPackage/mySubPackage/module1.py > project/src/myPackage/mySubPackage/test/ > project/src/myPackage/mySubPackage/test/__init__.py > project/src/myPackage/mySubPackage/test/module1.py > ... > > up until now, I had been executing my modules from inside > project/src/myPackage/ > but I realised that that is wrong (while implementing the test suite) > and that since all my modules had relative imports (if module2 needed > module1, it would just say : import module1) I changed them to > myPackage.module1 for example. Now my test suite is happy, I can say : > test.sh myPackage.test and it tests everything. The only problem > now is > that I can't execute the scripts from inside or outside the myPackage > dir, I get this : > > from outside : > > Traceback (most recent call last): > File "myPackage/module1.py", line 15, in <module> > from myPackage import constants, utils > ImportError: No module named myPackage > > or if from inside it : > > Traceback (most recent call last): > File "module1.py", line 15, in <module> > from myPackage import constants, utils > ImportError: No module named myPackage > > can anybody please help me? I don't think I understood the whole > package/module thing I think... I think some people do some sort of > importing in the __init__.py files but I'm not sure this helps in > this case. > > Thanks, > Gabriel > > Hello Michael,
not a stupid question, I think that may be it. I tried setting PYTHONPATH like Sam suggested and it worked, but I was unable to do it programmically. I tried putting it in the __init__.py file like a web post suggested but it wasn't run until after I set PYTHONPATH, and once that was done there is no need (that I can see anyways) to set it in __init__.py. Thanks for your help, Gabriel -- http://mail.python.org/mailman/listinfo/python-list