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