Importing Classes from child folders.

Tobias M. tm at
Thu Jan 17 10:31:03 CET 2013

On an import python looks for the module in the directories specified in 
The documentation on sys.path says:

"As initialized upon program startup, the first item of this list is the 
directory containing the script that was used to invoke the Python 
interpreter." [1]

So it`s important that the script you execute by passing it to the 
python interpreter is in your root folder ("ProjectX").
If this script is, you might want to check the path there by:

import sys

There should be an entry with a empty string ("") standing for the 
current directory.

Note: This is just what I suggest according to my knowledge (I'm also a 
newbie in python).


On 17.01.2013 08:37, monosij.forums at wrote:
> Trying to do some OO Python with files in different directories.
> I have a blank in each directory.
> It is my assumption that having an marks the directory as a module.
> I am trying to run from the command line.
> I would assume this has already been solved but could not find in forum
> I am somewhat new to Python. Using Python3 under Ubuntu.
> ...
> So I have a project structure as follows:
> ...
> ProjectX (root folder)
> + service (folder under ProjectX)
> (has a class SystemSetup)
> + model (folder under ProjectX)
> (has a class Directory)
> In if I want to use SystemSetup class, I do:
> from service.SystemSetup import SystemSetup
> ...
> and in Controller Class I have:
> def main():
>      systemSetup = SystemSetup()
> I get error:
>    File "", line 4, in <module>
>    from service.SystemSetup import SystemSetup
> ImportError: cannot import name SystemSetup
> What am I doing wrong? I am running from the command line.
> Do I need to set the project in PYTHONPATH first?
> But if SystemSetup and Directory are in same directory as Controller I have no problems.
> Your help would be highly appreciated.
> ...
> Btw I also tried:
> import sys, os.path
> sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))
> from service.SystemSetup import SystemSetup
> ...
> No luck.
> Thank you again.
> Monosij

More information about the Python-list mailing list