msi - setuptools python 2.7 3 download




arresto setup.py dall'installazione come uovo (2)

Come posso impedire a setup.py di installare un pacchetto come un uovo? O ancora meglio, come faccio easy_install dall'installare un pacchetto come un egg ?

sudo python setup.py install

La ragione è che PyDev è piuttosto schizzinoso riguardo i pacchetti in formato egg ... Il pacchetto al quale sono interessato al momento è boto .

Aggiornamento: ho trovato il modo bruto di farlo:

sudo easy_install -m boto
cd path/to/boto-xyz.egg
sudo mv boto ..
sudo rm -rf boto-xyz.egg

Anni dopo, lo stesso problema, non soddisfatto della risposta accettata. Trovato in gruppi di Google:

pushd /path/to/my/package/ 
python setup.py sdist 
popd 
pip install /path/to/my/package/dist/package-1.0.tar.gz

Spiegazione: python setup.py sdist crea una distribuzione di origine che naturalmente non è un * .egg! L'archivio risultante (.tar.gz in unix, .zip in windows) può essere installato come qualsiasi modulo remoto con pip. Non richiede nemmeno parametri aggiuntivi! Ciò risulta nel modulo completamente sfogliabile desiderato.


Mi sento come se mi mancasse qualcosa di sottile o importante (incontrando questa pagina anni dopo che la domanda è stata posta e non trovando una risposta soddisfacente) tuttavia il seguente funziona bene per me:

python setup.py install --single-version-externally-managed --root=/

I file compressi *.egg sono un'invenzione di setuptools (non sono un grande fan di essi anche se capisco perché sono stati creati) e poiché lo script setup.py utilizza (e potrebbe richiedere) setuptools, il pacchetto finisce per essere installato come un file *.egg compresso.

Le opzioni della riga di comando sopra sono simili a quelle usate da pip (il gestore di pacchetti Python) che suggerisce un altro modo per impedire che un pacchetto venga installato come un file *.egg compresso: Basta usare pip! Se si dispone di una directory contenente uno script setup.py , è possibile eseguire il seguente comando in tale directory per installare il pacchetto utilizzando pip:

pip install .

Questo è un miglioramento rispetto al comando setup.py precedente perché tiene traccia di ulteriori metadati (ad esempio il tracciamento dei file installati consente una rimozione più affidabile).







easy-install