Tenemos una instalación de python común para todos nuestros sistemas con el fin de garantizar que cada sistema tenga la misma instalación de python y para facilitar los problemas de configuración. Esta instalación se encuentra en una unidad compartida. También tenemos múltiples plataformas que comparten esta instalación. Nos acercamos a los archivos conflictivos específicos de la plataforma al configurar la opción de configuración --exec-prefix al compilar Python.¿Cómo puedo lidiar con los huevos de python para plataformas múltiples en una ubicación?
Mi problema es que ahora quiero instalar un huevo usando easy_install (o de otro modo) que depende de la plataforma. easy_install pone el huevo en el directorio site-packages de la parte independiente de la plataforma de la instalación. El nombre del huevo tiene la plataforma, por lo que no debería haber conflicto. Pero Python solo cargará el primero que encuentre. (Entonces, en Solaris podría intentar cargar el huevo de Linux). Modificar el archivo easy-install.pth puede cambiar el que encuentre, pero eso es bastante inútil.
Puedo mover los archivos .egg a un directorio de paquetes dependiente de la plataforma y luego usar pkg_resources.require() para cargarlos (o ajustar manualmente la ruta). Pero parece que no debería tener que hacerlo ya que la plataforma está en el nombre del huevo.
¿Hay alguna otra manera más genérica de asegurarme de que python cargue el huevo para la plataforma correcta?
¿El huevo contiene extensiones C, o es puro pitón? – codeape
Sí, hay una extensión C. De lo contrario, no importaría porque el código no dependería de la plataforma. Específicamente, es el módulo PyPerforce, en caso de que tenga curiosidad. – Philbert