title: How do we import a module high in a project structure into a file that's at a low level? (Python 3.6 +)
body: <p>Suppose we have the following project structure:</p>
  
  <pre><code>E:\demo_proj\
          utilities_package\
                  __init__.py
                  util_one.py
                  util_two.py
          demo_package\
                  __init__.py
                  demo_sub_package\
                          __init__.py
                          demo_sub_sub_package\
                                 demo_file.py    
  </code></pre>
  
  <p>What is a sensible way for <code>demo_file.py</code> to import from <code>utilities_package</code>?</p>
  
  <p>The <code>utilities_package</code> is in a much higher level directory than <code>demo_file.py</code>.</p>
  
  <p>Although it is not shown in the little diagram I gave above, suppose that  <code>utilities_package</code> is used everywhere throughout the project. It is not sensible to make <code>utilities_package</code> a sub-directory of <code>demo_sub_sub_package</code></p>
  
  <p>Some similar questions have been asked <a href="https://stackoverflow.com/questions/456481/cant-get-python-to-import-from-a-different-folder">here</a> and <a href="https://stackoverflow.com/questions/714063/importing-modules-from-parent-folder">here</a>.    </p>
  
  <p>The asker of the first question neglected to include a <code>__init__.py</code> in their packages. That is not an issue in my case.</p>
  
  <p>The answers given to the the second  question linked-to above are problematic:</p>
  
  <ul>
  <li>Most of the answers are quite old. For example, <code>Loader.load_module</code> was  deprecated after Python 3.4</li>
  <li>Most of the answers are specific to the question in that they only go up one directory, whereas, I would like to go up several levels.</li>
  <li>Some of the answers are high-level descriptions without code. Other answers have the opposite problem: they contain ugly-looking code, but don't bother to explain it.</li>
  </ul>
  
  <p>I am open to solutions which require restructuring the project. I'm also interested in solutions which leave the project structure intact, but which insert the relevant code into <code>demo_file.py</code></p>