mmngreco
4/30/2018 - 8:41 AM

[dependencias] Manejo de dependencias #pip #dependency-links

[dependencias] Manejo de dependencias #pip #dependency-links

Problema : Existen dependencias privadas que por algún motivo no son públicas. Tenemos la necesidad de incluirlas en nuestro paquete.

¿Cómo hacer esto?

setup.py

setup(
    ...
    install_requires=[
        'scipy',
        'ta-lib==0.4.10',
        'pkg==0.0.1'
    ],
    dependency_links=[
        'http://url/my_pip_index/simple/ta-lib/',
        'git+http://url-gitlab/pkg.git@master#egg=pkg-0.0.1'
    ],
)

Es importante añadir /simple/ta-lib/. Si añadimos un repositorio cómo es el caso de pkg, notar que se añade a la url git+ y #egg=pkg-0.0.1.

Para instalar usando el anterior setup : pip install . --process-dependency-links --trusted-host url

requirements.txt

--process-dependency-links
--find-links git+http://url-gitlab/pkg.git@master#egg=pkg-0.0.1
--extra-index-url http://url/pip_index/simple/
--trusted-host url
--trusted-host url-gitlab
certifi==2018.4.16
numpy==1.14.3
python-dateutil==2.7.2
pytz==2018.4
pkg==0.0.1
scipy==1.0.1
six==1.11.0
TA-Lib==0.4.10
wincertstore==0.2

Es importante añaadir /simple/ en el extra-index, de lo contrario no tendrá efecto. También es importante añadir git+ cuando se usa un repositorio.

ENLACES DE INTERÉS