Hi all,<br><br>I&#39;m new to the list and relatively new to python, and very new to the use and creation of packages.<br><br>Let&#39;s say I have these files in one directory:<br><br>PrintBase.py<br>PrintHello.py<br>PrintBye.py
<br><br>PrintBase defines a very simple base class PrintBase, whose __init__ method initializes a member to an optionally provided string (otherwise the string is empty) and whose PrintMe method prints the string given (or empty string otherwise).
<br>PrintHello defines a class that inherits from PrintBase and whose PrintMe method prepends a &#39;Hello, &#39; to the provided string.<br>PrintBye defines a class that inherits from PrintBase and whose PrintMe method prepends a &#39;Good-bye&#39; to the provided string.
<br><br>Since all the files are in the same directory, I can use import statements like from PrintHello import PrintHello ...<br><br>I&#39;d like to reorganize the files so they&#39;re like the Sound example in the Python tutorial:
<br><br>PrintMe/<br>PrintMe/PrintBase/PrintBase.py<br>PrintMe/PrintHello/PrintHello.py<br>PrintMe/PrintBye/PrintBye.py<br><br>I&#39;ve created empty __init__.py files in each of the subdirectories.&nbsp; Here I run into a number of problems and get confused - my goal is to keep the import statements as they are (the actual files I&#39;d be editing are many and I&#39;d rather avoid having to edit them all) - is there something I can put in the __init__.py files so that the modules are brought into namespace w/o having to use absolute module notation?
<br><br>As simple tests, I&#39;ve tried running different import commands in the python interpreter:<br><br>I&#39;ve tried adding the absolute directory paths to __path__ in each __init__.py per subdirectory, and adding the paths to 
sys.path.&nbsp; When I do that and run the python intepreter and try &#39;from PrintMe.PrintHello import PrintHello&#39; I get an error saying &#39;Error when calling the metaclass bases, module.__init__() takes at most 2 arguments (3 given)&#39;.&nbsp; The same code functioned fine when all the files were in the same directory, so I&#39;m confused about why the interpreter thinks I&#39;m passing 3 arguments along.
<br><br>W/o those directories in sys.path I get an import error (there is no module named &#39;PrintBase&#39;).&nbsp; Also, if I&#39;m in one of the subdirectories I get a similar error when attempting to import the toplevel (PrintMe) package.&nbsp; 
<br><br>(Essentially I would like to structure the directories (er package?) so that files in one subdirectory can subclass base classes from a sibling (not parent) directory, ideally in a way that doesn&#39;t require each file to state something like &#39;from &#39;
PrintMe.PrintHello ... import ...&#39; but instead &#39;from PrintHello import ...&#39;.&nbsp; Is this possible, and if so how can I go about doing it?)<br><br><br><br>Many Thanks!<br><br>Andrew<br><br>