-----------------------------------

Acquista i software ArcGIS tramite Studio A&T srl, rivenditore autorizzato dei prodotti Esri.

I migliori software GIS, il miglior supporto tecnico!

I migliori software GIS, il miglior supporto tecnico!
Azienda operante nel settore GIS dal 2001, specializzata nell’utilizzo della tecnologia ArcGIS e aderente ai programmi Esri Italia Business Network ed Esri Partner Network

-----------------------------------



martedì 30 aprile 2013

Package Python

Quando abbiamo un certo numero di classi e funzioni, è consigliabile separarli in moduli (scripts). I moduli potrebbero crescere e quindi potreste considerare di raggrupparli in package. Un package in sostanza è un altro tipo di modulo che può contenere altri moduli correlati tra loro per funzionalità. Un modulo è memorizzato come un file .py mentre un package è una cartella. In pratica un package è una cartella con un file chiamato __init__.py al suo interno.
Questo file definisce attributi e metodi  del package; esso comunque può anche essere vuoto ma deve essere presente. Se il file non esiste la cartella è una semplice cartella e quindi il package non può essere importato mentre se viceversa il file esiste è possibile importare un package come modulo.
Ad esempio importiamo ArcPy utilizzando import arcpy ma non è presente uno script arcpy.py bensì una cartella di nome arcpy nella quale è presente un file di nominato __init__.py

Qui sotto possiamo vedere la cartella arcpy dove possiamo notare la presenza del file __init__.py in essa contenuta.



Premesso che molti IDE Python facilitano la creazione della struttura ed il setup per la distribuzione dei package, vediamo come possiamo crearci il nostro semplicissimo package.

Un volta stabilito il nome del package, ad esempio geometrypy, ci creiamo una cartella con questo nome ed in questa cartella inseriamo un file nominato __init__.py

La struttura sarà tipo:

geometrypy
        __init__.py
        utils.py
        polyline.py
        ....

In PyCharm possiamo farlo automaticamente:




Diamo il nome al package:

 
 
Aggiungiamo il nome modulo (ad esempio utils.py):
 
 


Poiché i package potrebbero avere una struttura complessa e magari c'è l'esigenza di distribuirli ad altri utenti affinché altri li possano utilizzare, nella dotazione standard è presente distutils per la distribuzione.
In questo caso, essendo il package molto semplice, il tutto si riduce al file setup.py






Viene creato il file setup.py


A questo punto creiamo il pacchetto autoinstallante così da agevolare l'installazione:

selezioniamo Run setup.py Task...



Creiamo un autoinstallante per l'ambiente Windows


 Inseriamo alcuni paramenti utilizzati per la generazione del pacchetto autoinstallante



Una volta generato il file di installazione lo eseguiamo:


A questo punto utilizziamo il nostro package:



Per disinstallare il package in Installazione Applicazioni di Windows in Panello di controllo selezionare la voce Python 2.7 geometrypy.