¿La mejor manera de compartir código a través de varios scripts setup.py?

Tengo varios paquetes en los que estoy trabajando y me gustaría compartir el código entre sus scripts setup.py. ¿Hay alguna buena manera de hacerlo o la duplicación de código es mi única opción?

Normalmente setup.py es el punto de entrada para la distribución de paquetes distintos. Como tal, es difícil compartir el código entre esos paquetes.

Si usa setuptools (o es fork, distribute ) en su setup.py , puede especificar los paquetes que deben instalarse al instalar su paquete con la entrada setup_requires .

Desafortunadamente, tu setup.py se ejecuta primero; tan pronto como se setup_requires línea setup_requires , los paquetes adicionales enumerados allí se instalarán localmente, pero esto puede ser demasiado tarde para sus necesidades.

La setup_requires es crear un objeto de Distribution separado antes de llamar a la setup que define las entradas setup_requires :

 import setuptools setuptools.dist.Distribution(dict(setup_requires='yoursharedsetuppackage')) # `setup_requires` is parsed and acted upon immediately; from here on out # the yoursharedsetuppackage is installed and importable. import yoursharedsetuppackage setup(...)