Installing Python packages from a GitHub repo with Pipenv

Besides installing packages from PyPI you can directly install packages from, for example, GitHub. This feature is not exclusive to Pipenv, pip can do the same just as well.

For side-projects I use (mostly) just by myself I feel pretty save running on the development branch of the Django web framework. To install Django its development branch, called main for Django, you need the location of the git repository.

Besides Git Pipenv should work with the version control systems Bazaar, Subversion and Mercurial as well.

The location of the Django git repository is https://github.com/django/django.git for HTTP and git@github.com:django/django.git for SSH. The pipenv install command expects the following format: <vcs_type>+<scheme>://<repository>@<branch_or_tag>#egg=<package_name. Pipenv recommends you to add the -e option to the install command to install as an editable dependency.

Following the above format the Django install command will look like:

$ pipenv install -e git+https://github.com/django/django.git@main#egg=Django

Installing Django using SSH looks like:

$ pipenv install -e git+ssh://git@github.com/django/django.git@main#egg=Django

If you don’t specify the egg the installation fails with the warning: “pipenv requires an #egg fragment for version controlled dependencies.”

For more information on this topic you can read the docs :-).

See Also

6 Non-Programming Books for Programmers