imports make it more obvious what role module playsand so make your code more readable for examplea normal import of file in directory somewhere on the module search pathlike thisimport utilities offers much less information than an import that includes the pathimport database client utilities package imports can also greatly simplify your pythonpath and pth file search path settings in factif you use explicit package imports for all your cross-directory importsand you make those package imports relative to common root directory where all your python code is storedyou really only need single entry on your search paththe common root finallypackage imports serve to resolve ambiguities by making explicit exactly which files you want to import--and resolve conflicts when the same module name appears in more than one place the next section explores this role in more detail tale of three systems the only time package imports are actually required is to resolve ambiguities that may arise when multiple programs with same-named files are installed on single machine this is something of an install issuebut it can also become concern in general practice --especially given the tendency of developers to use simple and similar names for module files let' turn to hypothetical scenario to illustrate suppose that programmer develops python program that contains file called utilities py for common utility codeand top-level file named main py that users launch to start the program all over this programits files say import utilities to load and use the common code when the program is shippedit arrives as single tar or zip file containing all the program' filesand when it is installedit unpacks all its files into single directory named system on the target machinesystem utilities py main py other py common utility functionsclasses launch this to start the program import utilities to load my tools nowsuppose that second programmer develops different program with files also called utilities py and main pyand again uses import utilities throughout the program to load the common code file when this second system is fetched and installed on the same computer as the first systemits files will unpack into new directory called system somewhere on the receiving machine--ensuring that they do not overwrite same-named files from the first systemsystem utilities py main py other py common utilities launch this to run imports utilities module packages