with setup recent pynacl pip_build_root mysqlclient most last from failed error egg_info code python setuptools pip distribute

recent - python setup py egg_info failed with error 1



¿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