WinPackIt, il modo facile per distribuire il vostro programma.

Torno sull'argomento "distribuzione" per presentarvi un progettino che ho messo insieme in questi giorni: WinPackIt, il modo (un po' più) facile per distribuire il vostro programma Python su Windows.


Qualche tempo fa avevo scritto un post per proporre un'alternativa "un po' alla buona" ai vari packager che si trovano in giro (py2exe, etc.). Quando funzionano, questi tool sono ottimi, intendiamoci. Il problema è che non sempre funzionano come dovrebbero.
La mia idea, banalmente, era di usare le distribuzioni embeddable di Python, che sono disponibili a partire da Python 3.5. In quel post avevo delineato in breve le cose da fare: in sostanza, scaricare e scompattare la distribuzione, installare con Pip i vari pacchetti esterni necessari, copiare i file del vostro programma, fare un po' di aggiustamenti con le path.
A partire da quell'idea, ho scritto un piccolo tool per automatizzare queste operazioni: WinPackIt parte da alcuni dati che voi gli fornite, e vi sforna una cartella "build" bella e pronta per essere consegnata all'utente finale, con dentro il vostro programma e tutto quello che serve per farlo funzionare.

Potete trovare WinPackIt su PyPI (e quindi potete installarlo normalmente con Pip). Anche se il codice e la documentazione sono in Inglese, ho pubblicato anche una versione in Italiano della documentazione.
Usare WinPackIt è facile, ma dovete comunque saper usare la riga di comando, e dovete avere un'idea di quello che state facendo. Il programma che intendete distribuire dovrebbe essere scritto in modo... sensato, come dire. Se all'interno del codice usate delle path assolute per accedere a una risorsa esterna (casi tipici: un database Sqlite, o un file di impostazioni), non potete pretendere che WinPackIt aggiusti le vostre path per voi. Imparate a usare le path relative e tenete le risorse esterne sotto controllo.
Penso che WinPackIt sia un buon modo per distribuire un programma "nel caso facile ma anche più comune": va bene quando dovete far girare uno script o un programma semplice su un computer Windows che non ha Python installato.

Provatelo, fatemi sapere che cosa ne pensate, e segnalate eventuali (probabili!) bachi...

Commenti

Post più popolari