pip install a local git repository

2019-03-08 10:23发布

问题:

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.

回答1:

pip works by installing packages to your site-packages. If you just want to import your module regularly, all you have to do is add the directory path to your PYTHONPATH environmental variable.



回答2:

I can also just use:

cd your-local-repo
pip install -e .

or

python setup.py install develop


回答3:

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



标签: python git pip