¿Cuál es la diferencia entre instalar un repository git con y sin # huevo =

Los dos commands siguientes instalan correctamente mi package sin error.

pip install git+https://path_to_repo/repo_name.git@v17.8.0

pip install git+https://path_to_repo/repo_name.git@v17.8.0#egg=repo_name

¿Cuál es la diferencia?

Estoy usando pip 7.1.0 y 9.0.1

Elaborando el nombre y la versión

Para cada elemento candidato, pip necesita saber el nombre y la versión del proyecto. Para las ruedas (identificadas por la extensión de file .whl) esto se puede get del nombre del file, según la especificación Wheel. Para directorys locales, o files sdist especificados explícitamente, el command setup.py egg_info se usa para determinar los metadatos del proyecto. Para los sdistas ubicados a través de un índice, el nombre del file se analiza para el nombre y la versión del proyecto (en teoría es un poco less confiable que usar el command egg_info, pero evita download y procesar un número innecesario de files).

Cualquier URL puede usar la syntax # egg = name para indicar explícitamente el nombre del proyecto.