I'm new to Python and i have looked around on how to import my custom modules from a directory/ sub directories. Such as this and this. This is my structure, index.py __init__.py modules/ hello.py HelloWorld.py moduletest.py index.py, # IMPORTS MODULES import hello import HelloWorld import moduletest # This is our application object. It could have any name, # except when using mod_wsgi where it must be "application" def application(environ, start_response): # build the response body possibly using the environ dictionary response_body = 'The request method was %s' % environ['REQUEST_METHOD'] # HTTP response code and message status = '200 OK' # These are HTTP headers expected by the client. # They must be wrapped as a list of tupled pairs: # [(Header name, Header value)]. response_headers = [('Content-Type', 'text/plain'), ('Content-Length', str(len(response_body)))] # Send them to the server using the supplied function start_response(status, response_headers) # Return the response body. # Notice it is wrapped in a list although it could be any iterable. return [response_body] init.py, from modules import moduletest from modules import hello from modules import HelloWorld modules/hello.py, def hello(): return 'Hello World from hello.py!' modules/HelloWorld.py, # define a class class HelloWorld: def __init__(self): self.message = 'Hello World from HelloWorld.py!' def sayHello(self): return self.message modules/moduletest.py, # Define some variables: numberone = 1 ageofqueen = 78 # define some functions def printhello(): print "hello" def timesfour(input): print input * 4 # define a class class Piano: def __init__(self): self.type = raw_input("What type of piano? ") self.height = raw_input("What height (in feet)? ") self.price = raw_input("How much did it cost? ") self.age = raw_input("How old is it (in years)? ") def printdetails(self): print "This piano is a/an " + self.height + " foot", print self.type, "piano, " + self.age, "years old and costing\ " + self.price + " dollars." But through the Apache WSGI, I get this error, [wsgi:error] [pid 5840:tid 828] [client 127.0.0.1:54621] import hello [wsgi:error] [pid 5840:tid 828] [client 127.0.0.1:54621] ImportError: No module named hello Any idea what have I done wrong? EDIT: index.py __init__.py modules/ hello.py HelloWorld.py moduletest.py User/ Users.py Continue reading...