nowadd just the common root directory to your search path if your code' imports are all relative to this common rootyou can import either system' utility file with package import--the enclosing directory name makes the path (and hencethe module referenceunique in factyou can import both utility files in the same moduleas long as you use an import statement and repeat the full path each time you reference the utility modulesimport system utilities import system utilities system utilities function('spam'system utilities function('eggs'the names of the enclosing directories here make the module references unique note that you have to use import instead of from with packages only if you need to access the same attribute name in two or more paths if the name of the called function here were different in each pathyou could use from statements to avoid repeating the full package path whenever you call one of the functionsas described earlierthe as extension in from can also be used to provide unique synonyms alsonotice in the install hierarchy shown earlier that __init__ py files were added to the system and system directories to make this workbut not to the root directory only directories listed within import statements in your code require these filesas we've seenthey are run automatically the first time the python process imports through package directory technicallyin this case the system directory doesn' have to be under root--just the packages of code from which you will import howeverbecause you never know when your own modules might be useful in other programsyou might as well place them under the common root directory as well to avoid similar name-collision problems in the future finallynotice that both of the two original systemsimports will keep working unchanged because their home directories are searched firstthe addition of the common root on the search path is irrelevant to code in system and system they can keep saying just import utilities and expect to find their own files when run as programs --though not when used as packages in xas the next section explains if you're careful to unpack all your python systems under common root like thispath configuration also becomes simpleyou'll only need to add the common root directory once why you will caremodule packages because packages are standard part of pythonit' common to see larger third-party extensions shipped as sets of package directoriesrather than flat lists of modules the win all windows extensions package for pythonfor instancewas one of the first to jump on the package bandwagon many of its utility modules reside in packages imported with paths for instanceto load client-side com toolsyou use statement like this module packages