Diferencia entre setup.py install y setup.py Develop.

Estoy tratando de mejorar mi flujo de trabajo al desarrollar módulos de Python y tengo una pregunta bastante básica.

Qué sucede exactamente al elegir cualquiera de las opciones. Que yo sepa, el desarrollo deja los archivos en su lugar para que pueda modificarlos y jugar con el paquete, mientras que instalarlos los copia en la carpeta de paquetes de sitio de mi instalación de python. ¿Cómo se vincula el paquete a mi instalación de python cuando se utiliza la opción de desarrollo ?

develop crea un archivo .egg-link en el directorio site-packages , que apunta a la ubicación de los archivos del proyecto. La misma ruta también se agrega al archivo easy-install.pth en la misma ubicación. La desinstalación con setup.py develop -u elimina ese archivo de enlace nuevamente.

Tenga en cuenta que también se instalan las dependencias install_requires aún no presentes, como huevos regulares (son easy_install -ed). Esas dependencias no se desinstalan al desinstalar el huevo de desarrollo.