title: How to pip install interdependent packages from a local directory in editable mode using a requirements file
body: <p>I'm having issues with pip failing to install editable packages from a local directory. I was able to install the packages manually using commands like <code>pip install -e pkg1</code>. I wanted to use a <code>requirements.txt</code> file to automate future installs, because my coworkers will be working on the same packages. My ideal development workflow is for each developer to checkout the source from version control and run <code>pip install -r requirements.txt</code>. The requirements file would designate all the packages as editable so we can import our code without the need for <code>.pth</code> files but we wouldn't have to keep updating our environments. And by using namespace packages, we can decouple the import semantics from the file structures.</p>
  
  <p>But it's not working out.</p>
  
  <p>I have a directory with packages like so:</p>
  
  <pre><code>index/
      pkg1/
          src/
              pkg1/
                  __init__.py
                  pkg1.py
          setup.py
      pkg2/
          src/
       ...etc.
  </code></pre>
  
  <p>Each <code>setup.py</code> file contains something like:</p>
  
  <pre><code>from setuptools import setup, find_packages
  setup(
      name="pkg1",
      version="0.1",
      packages=find_packages('src'),
      package_dir={'':'src'},
  )
  </code></pre>
  
  <p>I generated my <code>requirements.txt</code> file using <code>pip freeze</code>, which yielded something like this:</p>
  
  <pre><code># Editable install with no version control (pkg1==0.1)
  -e c:\source\pkg1
  # Editable install with no version control (pkg2==0.1)
  -e c:\source\pkg2
  
  ...etc...
  </code></pre>
  
  <p>I was surprised when pip choked on the requirements file that it created for itself:</p>
  
  <pre><code>(venv) C:\Source&gt;pip install -r requirements.txt
  c:sourcepkg1 should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+
  </code></pre>
  
  <p>Also, some of our packages rely on other of our packages and pip has been absolutely useless at identifying these dependencies. I have resorted to manually installing packages in dependency order.</p>
  
  <p>Maybe I'm pushing pip to its limits here. The documentation and help online has not been helpful, so far. Most sources discuss editable installation, installation from requirements files, package dependencies, or namespace packages, but never all these concepts at once. Usually when the online help is scarce, it means that I'm trying to use a tool for something it wasn't intended to do or I've discovered a bug.</p>
  
  <p>Is this development process viable? Do I need to make a private package index or something?</p>