Over a million developers have joined DZone.

Using Pip and Requirements.txt to Install From the Head of Github Branch

DZone's Guide to

Using Pip and Requirements.txt to Install From the Head of Github Branch

· Web Dev Zone ·
Free Resource

Learn how Crafter’s Git-based content management system is reinventing modern digital experiences.


The python package installer pip can be used to install directly from Github, like so:

$ pip install git+git://github.com/tangentlabs/django-oscar.git#egg=django-oscar

This will install from the HEAD of the master branch. However, when you use pip freeze to export your dependencies (usually to a requirements.txt file), pip will fix the reference to a specific commit by including its ID within the URL:

$ pip freeze | grep oscar
-e git://github.com/tangentlabs/django-oscar.git@d636b803d98cd1d3edd01821d4fb2a01ce215ee4#egg=django_oscar-dev

Hence running pip install -r requirements.txt will not pick any commits after d636b803 until requirements.txt is updated.

This isn't always the desired behaviour; in some circumstances, you would prefer for pip install -r requirements.txt to always install the latest version from Github.


Simply delete the commit ID from URL - that is, change:

-e git://github.com/tangentlabs/django-oscar.git@d636b803d98cd1d3edd01821d4fb2a01ce215ee4#egg=django-oscar


-e git://github.com/tangentlabs/django-oscar.git#egg=django-oscar

This can be done by hand once you've used

pip freeze > requirements.txt

to create your requirements file, or by using sed:

$ pip freeze | sed 's/@[a-z0-9]\+//' > requirements.txt


The text between @ and # in the github URL specifies the commit to install from. Rather than a commit ID, a branch or tag name can be used also. Hence:

pip install -e git://github.com/tangentlabs/django-oscar.git@0.1#egg=django-oscar

will install the 0.1 tag, while:

pip install -e git://github.com/tangentlabs/django-oscar.git@releases/0.1#egg=django-oscar

will install from the HEAD of the releases/0.1 branch.


Crafter CMS is a modern Git-based platform for building innovative websites and content-rich digital experiences. Download this white paper now.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}