Except for the relative path, I don't think this is a "new type of dependency link". For example, this works:

    $ mkdir temp
    $ cd temp
    $ mkvirtualenv temp
    New python executable in temp/bin/python
    Installing distribute..........................................................................................................................................................................................................done.
    Installing pip................done.
    virtualenvwrapper.user_scripts creating /Users/dmiller/code/virtualenvs/temp/bin/predeactivate
    virtualenvwrapper.user_scripts creating /Users/dmiller/code/virtualenvs/temp/bin/postdeactivate
    virtualenvwrapper.user_scripts creating /Users/dmiller/code/virtualenvs/temp/bin/preactivate
    virtualenvwrapper.user_scripts creating /Users/dmiller/code/virtualenvs/temp/bin/postactivate
    virtualenvwrapper.user_scripts creating /Users/dmiller/code/virtualenvs/temp/bin/get_env_details
    $ cat > setup.py <<EOF
    > from setuptools import setup
    > setup(
    >     name='pkg',
    >     version='1.0',
    >     install_requires=['sub-pkg'],
    >     dependency_links=['file:$(pwd)/sub-pkg#egg=sub-pkg-dev'], # NOTE absolute path here
    > )
    > EOF
    $ mkdir sub-pkg
    $ cat > sub-pkg/setup.py <<EOF
    > from setuptools import setup
    > setup(
    >     name='sub-pkg',
    >     version='1.0',
    > )
    > EOF
    $ easy_install .
    Processing .
    Writing /Users/dmiller/code/pip/temp/setup.cfg
    Running setup.py -q bdist_egg --dist-dir /Users/dmiller/code/pip/temp/egg-dist-tmp-Fmc89j
    warning: install_lib: 'build/lib' does not exist -- no Python modules to install

    zip_safe flag not set; analyzing archive contents...
    Adding pkg 1.0 to easy-install.pth file

    Installed /Users/dmiller/code/virtualenvs/temp/lib/python2.7/site-packages/pkg-1.0-py2.7.egg
    Processing dependencies for pkg==1.0
    Searching for sub-pkg
    Best match: sub-pkg dev
    Processing sub-pkg
    Writing /Users/dmiller/code/pip/temp/sub-pkg/setup.cfg
    Running setup.py -q bdist_egg --dist-dir /Users/dmiller/code/pip/temp/sub-pkg/egg-dist-tmp-hyjQEz
    warning: install_lib: 'build/lib' does not exist -- no Python modules to install

    zip_safe flag not set; analyzing archive contents...
    Adding sub-pkg 1.0 to easy-install.pth file

    Installed /Users/dmiller/code/virtualenvs/temp/lib/python2.7/site-packages/sub_pkg-1.0-py2.7.egg
    Finished processing dependencies for pkg==1.0

When I initially dug into fixing my SO issue I was surprised that pip was not delegating processing of dependency links to setuptools/distribute. I was expecting to submit a patch to distribute. I decided on this approach when I realized that my issue could be solved by patching pip alone. Given that pip does not delegate it's handling of dependency links to setuptools/distribute...

- I thought pip was a reasonable place to start
- if I were to submit a patch to distribute first then I'd still need to wait for a similar patch to be applied to pip

...since I use pip to install packages.

pip seems to be on the cutting edge of Python package management. Do you think pip should wait for setuptools/distribute to support correct handling of relative `file:` URLs before it does the same?