pip install a local git repository

I can't find the correct way to install a local directory as a python package using pip.

(venv) C:\(...)>pip install . --no-index
Ignoring indexes: http://pypi.python.org/simple/
Unpacking c:\users\fsantos\desktop\biskates.com\biskates\forks\django-pipeline
  Running setup.py egg_info for package from file:///(...)%5Cforks%5Cdjango-pipeline

Installing collected packages: django-pipeline
  Running setup.py install for django-pipeline

Successfully installed django-pipeline
Cleaning up...

(venv) C:\(...)>cd ..
(venv) C:\(...)>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pipeline
>>> pipeline.__file__
'C:\\(...)site-packages\\pipeline\\__init__.py'
>>>

As you can see pip just copied over the package to site-packages. How can I avoid this, and use the package directly from its source folder?

I'm trying to integrate django-pipeline into my Django project, but I want to add support for Django 1.4 first, so I forked and cloned my fork.


Solution 1:

I can also just use:

cd your-local-repo
pip install -e .

or

python setup.py install develop

Solution 2:

If you're working in a venv, you can do this:

env/bin/pip install git+file:///path/to/your/git/repo

Or with a branch:

env/bin/pip install git+file:///path/to/your/git/repo@mybranch

Solution 3:

You can use pip or pipenv with the following command to install from a local git repo:

pip install git+file:///path/to/your/package#egg=package-name

Note that there are 3 slashes after file: here.

To install from a remote repo use:

pip install git+ssh://[email protected]:Username/Project.git

You can also specify a desired branch like so:

pip install git+ssh://[email protected]:Username/Project.git@master

I just rounded up the previous answers and comments from Quilt and nanounanue and this question. Also posted it here.