pip: ¿Por qué a veces instalado como huevo, a veces instalado como archivos
¿Dónde puede forzar la instalación de pip como "plano" y no como "huevo"?
Para mí parece aleatorio. A veces se instala como huevo, a veces como plano.
pip help install
muestra solo una opción--egg
lo que obliga a una instalación de huevos. Pero no pude encontrar un--flat
opción.
Los paquetes son de un pypiserver propio y se cargan así:
python setup.py sdist upload -r internal
Salida de pip durante la instalación:
Best match: foo-client 2015.2
Downloading https://installserver:40443/pypi/packages/foo_client-2015.2.tar.gz
Processing foo_client-2015.2.tar.gz
Writing /home/bar_eins_daad/tmp/easy_install-z20B7b/foo_client-2015.2/setup.cfg
Running foo_client-2015.2/setup.py -q bdist_egg --dist-dir /home/bar_eins_daad/tmp/easy_install-z20B7b/foo_client-2015.2/egg-dist-tmp-GO1snX
No se porquebdist_egg
se acostumbra aquí. ¿Obliga a crear una instalación de huevo?
lossetup.py
usasetuptools
nodistutils
.
El paquete en nuestro pypiserver se ve así:
tar -tzf packages/foo_client-2015.3.tar.gz
contenido:
foo_client-2015.2/
foo_client-2015.2/foo_client.egg-info/
foo_client-2015.2/foo_client.egg-info/SOURCES.txt
foo_client-2015.2/foo_client.egg-info/top_level.txt
foo_client-2015.2/foo_client.egg-info/dependency_links.txt
foo_client-2015.2/foo_client.egg-info/PKG-INFO
foo_client-2015.2/setup.cfg
foo_client-2015.2/PKG-INFO
foo_client-2015.2/foo_client/
foo_client-2015.2/foo_client/models.py
...
Antecedentes
pip parece que a veces instala paquetes varias veces si se instalan huevos comprimidos.
Actualizar
Encontré en qué condición el paquete se instala como huevo: si se instala a través depython setup.py develop
(es una dependencia install_requires).
Si yo usopip install foo_client
se instala plano (como lo quiero).
Actualización2
La parte muy fea: si el huevo se instala, la versión anterior instalada plana no se elimina.
Versión: pip 1.5.6