title: Dependency management between multiple Python modules
body: <p>I have a project with multiple Python modules, each of which has its own virtual environment.</p>
  
  <p>Project Structure:</p>
  
  <pre><code>data-reader (Python module)
      data_reader
          reader.py
      venv (virtual environment directory for data-reader)
      requirements.txt
  data-writer (Python module)
      data_writer
          writer.py
      venv (virtual environment directory for data-writer)
      requirements.txt
  commons (Python module)
      commons
          utils.py
      venv (virtual environment directory for commons)
      requirements.txt
      setup.py
  </code></pre>
  
  <p>I want to install <code>commons</code> as a dependency in both modules: <code>data-reader</code> and <code>data-writer</code> and preferably as an editable project dependency.</p>
  
  <p>I created <code>setup.py</code> in commons and added the following requirement to the <code>requirements.txt</code> in both modules:</p>
  
  <pre><code>-e commons
  </code></pre>
  
  <p>When I activate the virtual environment for one of the modules and install its requirements I can run scripts from <code>commons</code> in the Python interpreter using the terminal, which is the expected and desired outcome, but in the <code>Intellij IDEA</code> IDE, I get an error underlining the import statement and with this error message: <code>Unresolved reference 'commons'</code></p>
  
  <pre><code>from commons import utils
  </code></pre>
  
  <p>I don't know if it is a problem in <code>IDEA</code> or in the approach I am using. </p>
  
  <ul>
  <li>What is the recommended way to add and manage such dependencies?</li>
  <li>Is adding this dependency as an editable project one a good idea in the first place or there is other recommended approaches?</li>
  </ul>