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