[Python] Distribuzione applicazioni sui sistemi Linux

Simone Federici s.federici a gmail.com
Dom 21 Ott 2012 11:17:33 CEST


Il problema è quello che infili dentro il deb file

Le applicazioni "portable" in linux le puoi avere solo se compili i
pacchetti senza "shared library".

Nel caso di python, se distribuisci i sorgenti non dovresti avere problemi
lato python, ma li avresti sicuramente lato dipendenze. Che usi QT?

Io proverei la strada di buildare le dipendenze del tuo programma in modo
statico, dopodiche le infilerei nel def file da distribuire.

per intenderci, tutte le dipendenze, compreso python stesso le compilerei
cosi:

./configure LDFLAGS="-static -static-libgcc" CPPFLAGS="-static"
make

a questo punto, dovrebbe essere portable.

facci sapere se trovi la strada
ciao
S


2012/10/21 Giuseppe Di Martino <gius.dima a gmail.com>

> E' da qualche anno che sto convertendo tutte le mie soluzioni software da
> vari linguaggi verso il Pyhton. Finora non ci sono stati grandi problemi e
> per ogni inghippo sono sempre riuscito a trovare una soluzione.
> Gli applicativi che sviluppo sono destinati ai cosidetti utonti di
> Windows, OS X e Linux, perciò devono essere a scatola chiusa e senza
> richiedere all'utilizzatore alcuna conoscenza "avanzata".
> Per impacchettare gli applicativi uso pyinstaller che produce eseguibili
> senza dipendenze esterne alla cartella del programma. Windows ed OS X
> mantengono una certa compatibilità verso il passato e generando ed
> impacchettando l'applicativo con una vecchia versione del sistema operativo
> (XP e Leopard, rispettivamente) non ho problemi ad usarlo anche nelle
> versioni più recenti; l'applicativo gira a 32 bit ma funziona.
> Con Linux non sono riuscito a trovare un modo per generare applicativi
> compatibili con le varie versioni di Linux, il problema si pone anche solo
> all'interno di una stessa distribuzione, ad esempio se creo l'applicativo
> con Ubuntu 10.04 funziona sì e no con le 11.x ma già con le 12.x genera
> segmentation fault.
> Le uniche strade che riesco ad intravedere sono solo due: la prima è di
> creare l'applicazione con ciascuna versione del sistema operativo e la
> seconda di dichiarare una sola versione come "supportata" ed abbandonare
> tutto il resto. Per il momento ho optato per la seconda, scegliendo la
> Debian 6.
> In rete ho letto che in Linux esiste LSB ma non ho ben capito come dovrei
> fare con tutte le librerie che utilizzo (PyQt, psycopg2, etc.)
>
> Qualcuno in lista ha avuto un'esigenza simile ed ha trovato una soluzione
> definitiva a questo problema?
>
> Buona domenica
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20121021/b33fd634/attachment.html>


Maggiori informazioni sulla lista Python