Pyg

Salve a tutti,
volevo segnalare il rilascio di Pyg! Attualmente è alla versione 0.2 e a breve (è ormai questione di giorni o una settimana al massimo) uscirà la versione 0.3.
 
=== Pyg ===
Pyg è un package manager scritto in Python per Python.
Permette di installare, rimuovere, scaricare pacchetti per Python.

=== Features ===
 
Ecco le principali features di Pyg:

  • Installa pacchetti dal nome, un URL, un file o una directory in locale
  • Può installare da un requirement file, cioè un file contenente una lista di nomi di pacchetti da installare
  • Permette di disinstallare facilmente i pacchetti
  • Installa pacchetti dal source o da Egg
  • Supporta i bundle di pip (per ora solo l'installazione, in futuro magari li potrà anche creare)
  • Permette di creare un insieme fisso di requirements
  • Può effettuare ricerche su PyPI (dal terminale)
  • Può scaricare pacchetti (senza poi installarli)
  • Il codice è abbastanza conciso e facilmente estendibile
  • Pyg può essere usato anche come libreria per Python

=== easy_install e pip ===
 
Pyg dovrebbe essere un'alternativa rispetto a easy_install (soprattutto) e pip.
Vantaggi rispetto a easy_install:

  • La disinstallazione
  • La possibilità di installare da requirements file
  • La ricerca su PyPI
  • Il comando `list package` (cerca tutte le versioni di un pacchetto e dice quali sono installate)

 
rispetto a pip:

  • L'installazione da Egg
  • Una migliore disinstallazione (pip non riesce a disinstallare i pacchetti installati con `python setup.py install`)
  • Il comando `list package`

 
Invece pip fa alcune cose che Pyg non può ancora fare:

  • Installazione da VCS (Git, Mercurial, Bazaar)
  • Installazione dai mirror di PyPI

 
Sia Pyg che pip non possono:

  • Usare gli extras di setuptools (come `package[test]`, usati soprattutto da Zope)

 
Infine, feature unica di Pyg, l'upgrade dei pacchetti. Quando si lancia:
$ pyg update
Pyg cerca tutti i pacchetti installati (ci mette un pochino) e verifica la presenza di una versione più recente, se la trova chiede all'utente se vuole installarla. Nè easy_install nè pip possiedono questa feature.
 
=== A Little Example ===
 
$ sudo pyg install itertools_recipes
Best match: itertools_recipes==0.1
Downloading itertools_recipes
Checking md5 sum
Running setup.py egg_info for itertools_recipes
Running setup.py install for itertools_recipes
itertools_recipes installed successfully
$ sudo pyg rm itertools_recipes
Uninstalling itertools_recipes
        /usr/local/lib/python2.7/dist-packages/itertools_recipes.py
        /usr/local/lib/python2.7/dist-packages/itertools_recipes.pyc
        /usr/local/lib/python2.7/dist-packages/itertools_recipes-0.1-py2.7.egg-info
Proceed? (y/[n]) y
Deleting: /usr/local/lib/python2.7/dist-packages/itertools_recipes.py...
Deleting: /usr/local/lib/python2.7/dist-packages/itertools_recipes.pyc...
Deleting: /usr/local/lib/python2.7/dist-packages/itertools_recipes-0.1-py2.7.egg-info...
Removing egg path from easy_install.pth...
itertools_recipes uninstalled succesfully
 
 

=== Links ===
 

~ Michele Lacchia 

Il tuo voto: Nessuno Media voti: 3 (6 voti)