How to `pip install` a package that has Git dependencies?
Question: I have a private library called `some-library` _(actual names have been
changed)_ with a setup file looking somewhat like this:

    
    
    setup(
        name='some-library',
    
        // Omitted some less important stuff here...
    
        install_requires=[
            'some-git-dependency',
            'another-git-dependency',
        ],
        dependency_links=[
            'git+ssh://git@github.com/my-organization/some-git-dependency.git#egg=some-git-dependency',
            'git+ssh://git@github.com/my-organization/another-git-dependency.git#egg=another-git-dependency',
        ],
    )
    

All of these Git dependencies _may_ be private, so [installation via
HTTP](http://stackoverflow.com/a/14928126/4101697) is not an option. I can use
`python setup.py install` and `python setup.py develop` in `some-library`'s
root directory without problems.

However, installing over Git doesn't work:

    
    
    pip install -vvv -e 'git+ssh://git@github.com/my-organization/some-library.git@1.4.4#egg=some-library'
    

The command fails when it looks for `some-git-dependency`, mistakenly assumes
it needs to get the dependency from PyPI and then fails after concluding it's
not on PyPI. My first guess was to try re-running the command with `--process-
dependency-links`, but then this happened:

    
    
       Cannot look at git URL git+ssh://git@github.com/my-organization/some-git-dependency.git#egg=some-git-dependency
       Could not find a version that satisfies the requirement some-git-dependency (from some-library) (from versions: )
    

Why is it producing this vague error? What's the proper way to `pip install` a
package with Git dependencies that might be private?


Answer: This should work for private repositories as well:

    
    
    dependency_links = [
         'git+ssh://git@github.com/my-organization/some-git-dependency.git@master#egg=some-git-dependency',
         'git+ssh://git@github.com/my-organization/another-git-dependency.git@master#egg=another-git-dependency'
    ],
    

