domenica 10 febbraio 2008

Da Python a ELF!

Buon giorno e buona Domenica a tutti :D

Girando per il web si trovano interessanti utility che permettono di convertire script python in eseguibili per qualsiasi sistema operativo.
Esempi pratici sono:

  • py2exe per Windows
  • py2app per Mac
  • cx_freeze per Linux
Ma c'è una cosa che pochi sanno: python già di suo ci include uno script in grado di convertire uno script python in un ELF (un eseguibile Linux).
Per trovarlo sui sistemi Debian based basta digidare da console il seguente comando:

dpkg -S freeze.py

Il comando vi restituirà un qualcosa come:

python2.4-examples: /usr/share/doc/python2.4/examples/Tools/freeze/makefreeze.py
python2.5-examples: /usr/share/doc/python2.5/examples/Tools/freeze/freeze.py
python2.4-examples: /usr/share/doc/python2.4/examples/Tools/freeze/freeze.py
python2.5-examples: /usr/share/doc/python2.5/examples/Tools/freeze/makefreeze.py

Dall'output mi pare di capire che lo script freeze.py è contenuto nei pacchetti python2.X-examples! (dunque se l'output del comando non vi restituisce niente provate ad installare il paccheto!)

Bene, ora che abbiamo scovato il nostro script portiamoci all'interno della directory:

cd /usr/share/doc/python2.4/examples/Tools/freeze/

A questo punto il gioco è semplice:

sudo python freeze.py scriptdaconvertire.py

In breve tempo lo script copierà tutte le librerie necessarie e, al termine di questo lavoro, vi chiederà di eseguire "make" per compilare il vostro script.
Dunque digitiamo nella nostra shell:

sudo make

E il gioco è fatto!
Se avete problemi ad attuare questa procedura scrivetemi pure nei commenti che sono disposto a darvi chiarimenti!

Ciao :D

Nessun commento: