Comment puis-je arrêter setup.py
de l'installation d'un paquet comme un œuf? Ou encore mieux, comment puis-je easy_install
depuis l'installation d'un package en tant que Egg
?
Sudo python setup.py install
La raison étant que PyDev
est plutôt pointilleux sur les packages au format Egg
... Le package qui m'intéresse en ce moment est boto
.
Mise à jour: J'ai trouvé la manière brute force de le faire:
Sudo easy_install -m boto
cd path/to/boto-xyz.Egg
Sudo mv boto ..
Sudo rm -rf boto-xyz.Egg
Je sens que je manque quelque chose de subtil ou d'important (rencontrer cette page des années après que la question a été posée et ne pas trouver de réponse satisfaisante), mais ce qui suit me convient:
python setup.py install --single-version-externally-managed --root=/
Compressé *.Egg
les fichiers sont une invention de setuptools (je ne suis pas un grand fan d'eux bien que je comprenne pourquoi ils ont été créés) et parce que le setup.py
le script utilise (et peut nécessiter) setuptools, le paquet finit par être installé en tant que _ *.Egg
fichier.
Les options de ligne de commande ci-dessus sont similaires à celles utilisées par pip (le Python) qui indique une autre façon d'empêcher un package d'être installé en tant que _ compressé *.Egg
fichier: utilisez simplement pip! Si vous avez un répertoire contenant un setup.py
script, vous pouvez exécuter la commande suivante dans ce répertoire pour installer le package à l'aide de pip:
pip install .
Il s'agit d'une amélioration par rapport au setup.py
commande ci-dessus car elle suit les métadonnées supplémentaires (par exemple, le suivi des fichiers installés permet une suppression plus fiable).
Des années plus tard, même problème, insatisfait de la réponse acceptée. Trouvé cela dans les groupes Google:
pushd /path/to/my/package/
python setup.py sdist
popd
pip install /path/to/my/package/dist/package-1.0.tar.gz
Explication: python setup.py sdist
crée un distribution source qui naturellement n'est pas un * .Egg! L'archive résultante (.tar.gz sous unix, .Zip sous windows) peut être installée comme n'importe quel module distant avec pip. Il ne nécessite même pas de paramètres supplémentaires! Il en résulte le module entièrement navigable souhaité.