961 votes

Pourquoi utiliser pip sur easy_install ?

Un tweet se lit comme suit:

Ne pas utiliser easy_install, à moins que vous comme vous-même coup de poignard dans le visage. L'utilisation du pip.

Pourquoi utiliser pip sur easy_install? N'est pas la faute avec PyPI et les auteurs du paquet pour la plupart? Si un auteur upload de merde archive source (par exemple: les fichiers manquants, pas de setup.py) pour PyPI, puis pep et easy_install échouera. Autres que cosmétiques différences, pourquoi le faire en Python (comme dans le tweet ci-dessus) semblent fortement en faveur pip sur easy_install?

(Supposons que nous parlons de easy_install de la distribution du package, qui est maintenue par la communauté)

603voto

Daniel Roseman Points 199743

De Ian Bicking propre introduction à la pip:

le pip a été écrit à l'origine pour améliorer easy_install de la façon suivante

  • Tous les paquets sont téléchargés avant l'installation. Partiellement rempli d'installation ne se produit pas.
  • Il est pris soin de présenter utile de sortie sur la console.
  • Les raisons pour les actions gardé la trace de. Par exemple, si un paquet est installé, le programme pep garde la trace de pourquoi que le paquet a été nécessaire.
  • Les messages d'erreur devrait être utile.
  • Le code est relativement concis et cohérent, ce qui facilite l'utilisation de la programmation.
  • Les paquets n'ont pas à être installé comme l'oeuf archives, ils peuvent être posés à plat (tout en gardant l'œuf de métadonnées).
  • La prise en charge Native pour les autres systèmes de contrôle de version (Git, Mercurial et le Bazar)
  • La désinstallation de paquets.
  • Simple à définir fixe un ensemble d'exigences et de reproduire de manière fiable un ensemble de paquets.

249voto

Matthew Rankin Points 71628

Un autre-encore sous silence la raison, pour favoriser le pip est parce qu'il est le nouveau hotness et continuera à être utilisé dans l'avenir.

L'infographie ci-dessous-de l' État Actuel de l'Emballage dans la section de La Hitchhiker's Guide to Emballage v1.0-montre que setuptools/easy_install ira loin dans l'avenir.

enter image description here

Voici une infographie à partir de distribuer de la documentation montrant que Setuptools et easy_install sera remplacé par le nouveau hotness-distribuer et pip. Alors que pep est encore le nouveau hotness, Distribuer fusionné avec Setuptools en 2013 avec la sortie de Setuptools v0.7.

enter image description here

171voto

Ned Batchelder Points 128913

Deux raisons, il peut être plus :

  1. PIP fournit un `` commande
  2. Si une installation échoue au milieu, pip vous laissera dans un état de propreté.

115voto

Matthew Schinckel Points 15596

Les EXIGENCES de fichiers.

Sérieusement, je l'utiliser en conjonction avec virtualenv tous les jours.


RAPIDE GESTION DE LA DÉPENDANCE TUTORIEL, LES GARS

Les exigences de fichiers permettent de créer un instantané de tous les paquets qui ont été installés par le pip. En encapsulant les paquets dans un virtualenvironment, vous pouvez avoir votre base de code d'un ensemble très spécifique de paquets et de partager cette base de code avec d'autres.

De Heroku de la documentation https://devcenter.heroku.com/articles/python

Vous créez un environnement virtuel, et de définir votre coque pour l'utiliser. (bash/*nix instructions)

virtualenv env
source env/bin/activate

Maintenant, tous les scripts python courir avec cette coque permettra d'utiliser cet environnement et de packages de configuration. Maintenant, vous pouvez installer un paquet localement à cet environnement sans avoir à l'installer dans le monde sur votre machine.

pip install flask

Maintenant, vous pouvez vider le info sur les paquets qui sont installés avec

pip freeze > requirements.txt

Si vous vérifié que le fichier dans le contrôle de version, quand quelqu'un d'autre obtient votre code, ils peuvent installer leur propre environnement virtuel et installer toutes les dépendances avec:

pip install -r requirements.txt

De tout temps, vous pouvez automatiser l'ennui comme c'est génial.

82voto

fuzzyman Points 3945

PIP n’installera les paquets binaires et n’est pas bien testé sur Windows.

Comme Windows ne vient pas avec un compilateur par pip par défaut souvent ne peut pas être utilisé là. easy_install peut installer les paquets binaires pour Windows.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X