Domanda

Ho letto qualcosa in merito .uovo file e ho notato che nel mio lib ma quali sono i vantaggi/svantaggi di usare poi come sviluppatore?

È stato utile?

Soluzione

Dal Python Enterprise Application Kit comunità:

"Le uova sono di Pitoni come Vasi sono di Java..."

Python uova sono un modo di impacchettare ulteriori informazioni con un Pitone il progetto, che permette di progetto dipendenze da controllare e soddisfatto in fase di esecuzione, nonché permettendo progetti per fornire plugin per altri progetti.Ci sono diversi formati binari che incarnano le uova, ma il più comune è '.uovo' zipfile formato, perché è conveniente per la distribuzione dei progetti.Tutti i supporto di formati tra cui pacchetto di dati specifici, a livello di progetto metadati, C estensioni, e Python codice.

I principali vantaggi di Python Uova sono:

  • Essi consentono di strumenti come la "Easy Install" gestore di pacchetti di Python

  • .uovo file sono "zero installazione" formato per un Pitone pacchetto;non costruire o installare il passo è richiesto, basta metterli su PYTHONPATH o sys.percorso e il loro utilizzo (può richiedere il runtime installato se C estensioni o file di dati vengono utilizzati)

  • Essi possono includere il pacchetto di metadati, come le altre uova da cui dipendono

  • Essi consentono di "spazio dei nomi" pacchetti (pacchetti che contengono altri pacchetti) per essere suddivisa in distribuzioni (ad es.zope., e ritorti., di picco.* i pacchetti possono essere distribuiti come separare le uova, a differenza dei normali pacchetti che deve sempre essere posto sotto il stessa directory principale.Questo permette quali sono ora più grande monolitico pacchetti per essere distribuiti come separato i componenti).

  • Essi consentono alle applicazioni o librerie per specificare il necessario versione di una libreria, in modo che si può ad es.require("Twisted-Internet>=2.0") prima di fare un'importazione twisted.internet.

  • Sono un grande formato per la distribuzione di estensioni o plugin per extensible applicazioni e framework (come Trac, che utilizza uova per plugin di 0.9b1), poiché l'uovo runtime fornisce una semplice Api per individuare uova e di trovare la loro voce pubblicizzato punti (simile a Eclipse "extension point" concetto).

  • Ci sono anche altri benefici che possono provenire dall'avere un standardizzate formato, simile ai benefici di Java "jar" formato.

-Adam

Altri suggerimenti

Un uovo di per sé non è di meglio di una corretta sorgente di rilascio.La parte buona è la gestione delle dipendenze.Come debian o pacchetti rpm, si può dire che dipendono da altre uova e saranno installati automaticamente (attraverso pypi.python.org).

Un secondo commento:l'uovo stesso formato, è un binario formato compresso.Normali pacchetti di python che consistono solo il codice python sono meglio distribuiti come "sorgenti", in modo "python setup.py sdist" che hanno come risultato una .tar.gz.Questi sono anche comunemente chiamati "uova" quando caricato su pypi.

Dove avete bisogno di binario uova:quando sei raggruppamento C estensione del codice.Avrete bisogno di diversi binari uova (uno a 32bit uno unix, windows, etc.) quindi.

Le uova sono un buon modo per distribuire applicazioni python.Pensate a come una piattaforma indipendente .deb file che installa tutte le dipendenze e quant'altro.Il vantaggio è che è facile da usare per l'utente finale.Lo svantaggio è che può essere complicato per il pacchetto di app come .uovo di file.

Si dovrebbe anche offrire un mezzo alternativo di installazione oltre a .uova.Ci sono alcune persone che non amano l'utilizzo di uova, perché a loro non piace l'idea di un programma software per l'installazione di qualsiasi software che si vuole.Questi di solito tendono ad essere sysadmin tipi.

.uovo di file sono, fondamentalmente, un bel modo per distribuire la vostra applicazione python.Si può pensare ad esso come qualcosa di simile .i file jar di Java.

Ulteriori informazioni qui.

Qualunque cosa tu faccia, non interrompere la distribuzione dell'applicazione, inoltre, come il tar, in quanto è la più semplice packagable formato per i sistemi operativi con un pacchetto sysetem.

Per semplici programmi in Python, probabilmente non è necessario per utilizzare le uova.La distribuzione di raw .py file dovrebbe essere sufficiente;è come la distribuzione di file di origine per GNU/Linux.È inoltre possibile utilizzare i vari OS "confezionatori" (come py2exe o py2app) per creare .exe, .dmg, o altri file per diversi sistemi operativi.

Programmi più complessi, ad es.Django, praticamente richiedono uova a causa di vari moduli e le dipendenze necessarie.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top