When you try to import a module, python starts to search for it. The was it does the search is very well defined. It mostly depends on the current directory and sys.path. You can read more about this here:
"The was it" -> "The way it"
- inside your app.py file either make sure that the current dir is /app, or insert /app in the first place in sys.path
Example:

import os,sys
mydir = os.split(os.abspath(__file__)[0]
os.chdir(mydir) # Option 1 - chdir to dir. containing your app
sys.path.insert(0,mydir) # Option 2 - add to your sys.path

Good things to know:

- In Python, it is recommended not to use upper case module/package names. It is a convention. However, some 3rd party packages (like wxPython or PIL) break this rule. - Obviously, you should not use numbers, reserved words for module or package names. The name should tell what is it for. - It is good to know the standard library, and avoid overwriting names from the standard lib. For example, you can create your own 'os.py' module but it would be very silly.

I personally tend to use absolute package names for libraries that are not tied to a specific project but it does not need to be that way.

You can find many threads in python-list about how applications and packages should be constructed.

Best,

  Laszlo

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to