Search code examples
pythonpippypi

pip requirements.txt with alternative index


I want to put all the requirements of a repoze Zope2 install in a pip requirements file. Most of the repoze packages don't seem to be on PyPi, but there's an alternative PyPi index for them here. But I can't figure out how to tell pip to use that index together with a requirements file. For single packages, it's easy

pip install zopelib -i http://dist.repoze.org/zope2/2.10/simple/

I tried the following

pip install -r requirements.txt -i http://dist.repoze.org/zope2/2.10/simple/

or in my requirements.txt all kind or permutations of these:

zopelib -i http://dist.repoze.org/zope2/2.10/simple/
zopelib --index http://dist.repoze.org/zope2/2.10/simple/
-i http://dist.repoze.org/zope2/2.10/simple/ zopelib

or (because the documentation says "Note that all these options must be on a line of their own.")

--index http://dist.repoze.org/zope2/2.10/simple/
zopelib

So, what's the correct way of telling pip to use http://dist.repoze.org/zope2/2.10/simple/ as index?


Solution

  • requirements.txt:

    -i http://dist.repoze.org/zope2/2.10/simple
    zopelib
    

    Example:

    $ pip install -r requirements.txt
    ...
    Successfully installed zopelib
    

    Note that -i takes effect for the entire requirements file. If you want to use different indexes, you can have multiple requirements files.

    https://pip.pypa.io/en/stable/reference/requirements-file-format/#supported-options