Hello all,
I have an ImportError problem, which is probably correct,
but I do not understand it. And how to fix it...
Here is the basic structure of the code (I have reduced it first).
ROOT:
/main.py
/Handlers/__init__.py (empty)
/Handlers/Handlers.py
/Handlers/HandlerFactory. py
/Handlers/Default/__init__.py (empty)
/Handlers/Default/Handlers.py
/Handlers/Default/HandlerFactory. py
Now, for the content of the files:
ROOT/main.py contains:
def main():
command = 'A'
from Handlers.Handle rFactory import HandlerFactory
handler = HandlerFactory( ).makeHandler(c ommand)
main()
ROOT/Handlers/Handlers.py contains:
class HandlerBase(obj ect):
pass
ROOT/Handlers/HandlerFactory. py contains:
def HandlerFactory( ):
import Handlers.Defaul t.HandlerFactor y
return Handlers.Defaul t.HandlerFactor y.HandlerFactor y()
ROOT/Handlers/Default/Handlers.py contains:
from Handlers.Handle rs import HandlerBase
class Handler(Handler Base):
pass
and finally:
ROOT/Handlers/Default/HandlerFactory. py contains:
from Handlers.Defaul t.Handlers import Handler
class HandlerFactory( object):
def makeHandler(sel f,command):
print 'HERE'
return Handler()
.... when I start main.py, I get:
Traceback (most recent call last):
File "main.py", line 8, in ?
main()
File "main.py", line 5, in main
handler = HandlerFactory( ).makeHandler(c ommand)
File "c:\ROOT\Handle rs\HandlerFacto ry.py", line 6, in HandlerFactory
import Handlers.Defaul t.HandlerFactor y
ImportError: No module named Default.Handler Factory
Using a bit different structure (with relative imports), I also had an
ImportError in ROOT/Handlers/Default/Handlers.py
I guess there is something I do not understand in the way Python looks for
the correct file in a package...
Can someone give me some explanations about what is happening here ?
And a way to solve that ?
Thanks for any help,
--
Stéphane Ninin
st*****@alussin an.org