Abbiamo un'installazione python comune per tutti i nostri sistemi al fine di garantire che ogni sistema abbia la stessa installazione python e per facilitare i problemi di configurazione. Questa installazione si trova su un'unità condivisa. Disponiamo inoltre di più piattaforme che condividono questa installazione. Andiamo in conflitto con i file specifici della piattaforma impostando l'opzione di configurazione --exec-prefix durante la compilazione di python.Come posso gestire le uova Python per più piattaforme in un'unica posizione?
Il mio problema è che ora voglio installare un uovo usando easy_install (o altrimenti) che dipende dalla piattaforma. easy_install mette l'uovo nella directory dei pacchetti del sito della parte indipendente dalla piattaforma dell'installazione. Il nome dell'uovo ha la piattaforma in esso, quindi non ci dovrebbero essere conflitti. Ma python caricherà solo il primo che trova. (Quindi, su Solaris potrebbe provare a caricare l'uovo di Linux). La modifica del file easy-install.pth può cambiare quello che trova, ma è abbastanza inutile.
Posso spostare i file .egg in una directory di pacchetti dipendenti dalla piattaforma e quindi utilizzare pkg_resources.require() per caricarli (o regolare manualmente il percorso). Ma sembra che non dovrei farlo da quando la piattaforma è nel nome dell'uovo.
Esiste un modo più generico per garantire che python carichi l'uovo per la piattaforma corretta?
L'uovo contiene estensioni C, o è puro pitone? – codeape
Sì, c'è un'estensione C. Altrimenti non avrebbe importanza perché il codice non sarebbe dipendente dalla piattaforma. In particolare, è il modulo PyPerforce, nel caso tu sia curioso. – Philbert