recent - python setup py egg_info failed with error code 1 error




¿El pip maneja extras_requisitos de setuptools/distribuye fuentes basadas? (2)

Tengo el paquete "A" con un setup.py y una línea extras_requires como:

extras_require = {
    'ssh':  ['paramiko'],
},

Y un paquete "B" que depende de util:

install_requires = ['A[ssh]']

Si ejecuto python setup.py install en el paquete B, que usa setuptools.command.easy_install debajo del capó, los extras_requires se resuelven correctamente y paramiko está instalado.

Sin embargo, si ejecuto pip /path/to/B o pip hxxp://.../b-version.tar.gz , el paquete A está instalado, pero paramiko no lo está.

Debido a que pip "se instala desde la fuente", no estoy muy seguro de por qué esto no funciona. Debería estar invocando el archivo setup.py de B, luego resolver e instalar las dependencias de B y A.

¿Es esto posible con pip?


Esto se admite desde la versión 1.1, que se publicó en febrero de 2012 (un año después de la pregunta).


Utilizamos setup.py y pip para administrar las dependencias de desarrollo de nuestros paquetes, aunque necesita una versión más reciente de pip (actualmente estamos usando 1.4.1).

#!/usr/bin/env python
from setuptools import setup
from myproject import __version__ 

required = [
    'gevent',
    'flask',
    ...
]

extras = {
    'develop': [
        'Fabric',
        'nose',
    ]
}

setup(
    name="my-project",
    version=__version__,
    description="My awsome project.",
    packages=[
        "my_project"
    ],
    include_package_data=True,
    zip_safe=False,
    scripts=[
        'runmyproject',
    ],
    install_requires=required,
    extras_require=extras,
)

Para instalar el paquete:

$ pip install -e . # only installs "required"

Desarrollar:

$ pip install -e .[develop] # installs develop dependencies




distribute