Ci sono degli svantaggi nell'usare le uova attraverso lo easy-install
rispetto ai pacchetti/moduli/librerie "tradizionali"?Svantaggio delle uova Python?
risposta
Uno svantaggio (potenziale) è che le uova vengono compresse per impostazione predefinita a meno che zip_safe=False
sia impostato nella loro funzione setup()
in setup.py
. Se un uovo è zippato, non è possibile ottenere i file in esso contenuti (senza decomprimerlo, ovviamente). Se il modulo stesso utilizza file non di origine (come i modelli), probabilmente specificherà zip_safe=False
, ma un'altra conseguenza è che non è possibile accedere in modo efficace ai moduli compressi usando pdb
, il debugger Python. Cioè, puoi, ma non sarai in grado di vedere la fonte o navigare correttamente.
Si potrebbe sempre usare 'easy_install -Z' per forzare l'installazione decompressa. C'è anche un modo per configurarlo per decomprimere per impostazione predefinita. –
Ho ricevuto l'uovo Mercurial, ma TortoiseHg non l'ha riconosciuto, quindi ho dovuto installarlo nel modo tradizionale. Ha qualcosa a che fare con la cosa zip? –
@Daniel: "C'è anche un modo per configurarlo per decomprimere di default" come? –
L'uso di uova causa un lungo periodo sys.path
, che deve essere ricercato e quando è in realtà lungo la ricerca può richiedere un po '. Solo quando ricevi un centinaio di voci, questo sarà un problema (ma l'installazione di cento uova tramite easy_install è certamente possibile).
@Ian Bicking dovrebbe avere qualcosa da dire su questo – bukzor