Différence entre "python setup.py installer" et "pip install'
j'ai un paquet externe que je veux installer dans mon virtualenv python à partir d'un fichier tar. Quelle est la meilleure façon d'installer le paquet?
j'ai découvert 2 façons de le faire:
- extraire le fichier tar, puis exécuter
python setup.py install
à l'intérieur du répertoire extrait. -
pip install packagename.tar.gz
de l'exemple # 7 dans https://pip.pypa.io/en/stable/reference/pip_install/#examples
est s'il y a une différence de les faire de ces deux façons.
2 réponses
à la surface, les deux font la même chose: faire python setup.py install
ou pip install <PACKAGE-NAME>
installera votre paquet python pour vous, avec un minimum de bruit.
cependant, l'utilisation de pip offre quelques avantages supplémentaires qui le rendent beaucoup plus agréable à utiliser.
- pip téléchargera automatiquement toutes les dépendances d'un paquet pour vous. En revanche, si vous utilisez
setup.py
, vous devez souvent rechercher et télécharger manuellement les dépendances, qui sont fastidieuses et peuvent devenir frustrantes. - pip conserve la trace de diverses métadonnées qui vous permettent facilement de désinstaller et de mettre à jour des paquets avec une seule commande:
pip uninstall <PACKAGE-NAME>
etpip install --upgrade <PACKAGE-NAME>
. En revanche , si vous installez un paquet en utilisantsetup.py
, vous devez supprimer manuellement et maintenir un paquet à la main si vous voulez vous en débarrasser, ce qui pourrait être source d'erreurs. - Vous n'avez plus à télécharger manuellement vos fichiers. Si vous utilisez
setup.py
, vous devez visiter le site web de la bibliothèque, de figure où le télécharger, extraire le fichier, lancezsetup.py
... En revanche, pip recherchera automatiquement le Python Package Index (PyPi) pour voir si le paquet y existe, et téléchargera, extraira et installera automatiquement le paquet pour vous. À quelques exceptions près, presque toutes les bibliothèques Python réellement utiles peuvent être trouvées sur PyPi. - pip vous laissera install easily wheels, qui est le nouveau standard de la distribution Python. Plus d'info à propos de roues .
- pip offre des avantages supplémentaires qui s'intègrent bien avec l'utilisation de
virtualenv
, qui est un programme qui vous permet d'exécuter plusieurs projets qui nécessitent des bibliothèques conflictuelles et des versions Python sur votre ordinateur. Plus d'infos . - pip est livré par défaut avec Python à partir de Python 2.7.9 sur le Python 2.la série x, et que de Python 3.4.0 sur le Python 3.X series, ce qui le rend encore plus facile à utiliser.
donc en gros, utilisez pip. Il offre seulement des améliorations par rapport à l'utilisation de python setup.py install
.
si vous utilisez une ancienne version de Python, que vous ne pouvez pas mettre à jour, et que vous n'avez pas installé pip, vous pouvez trouver plus d'informations sur l'installation de pip aux liens suivants:
- instructions officielles sur l'installation de pip pour tous les systèmes d'exploitation
- Instructions pour installer pip sur Windows (y compris les solutions aux problèmes courants)
- Instructions sur l'installation de pip pour Mac OX
pip, par lui-même, ne nécessite pas vraiment un tutoriel. 90% du temps, la seule commande que vous avez vraiment besoin est pip install <PACKAGE-NAME>
. Cela dit, si vous souhaitez en savoir plus sur ce que vous pouvez faire exactement avec pip, voir:
il est également généralement recommandé d'utiliser pip et virtualenv ensemble. Si vous êtes un débutant de Python, je pense personnellement que ce serait bien de commencer avec juste l'utilisation pip et installer des paquets globalement, mais finalement je pense que vous devriez passer à l'utilisation de virtualenv pendant que vous vous attaquez à des projets plus sérieux.
si vous souhaitez en savoir plus sur l'utilisation de pip et virtualenv ensemble, voir:
python setup.py install
est l'analogique de make install: c'est un moyen limité de compiler et de copier des fichiers vers les répertoires de destination. Cela ne signifie pas que c'est la meilleure façon d'installer vraiment un logiciel sur votre système.
pip
est un gestionnaire de paquets, qui peut installer, mettre à jour, lister et désinstaller des paquets, comme les gestionnaires de paquets familiers, y compris: dpkg, apt, yum, urpmi, ports
etc. Sous le capot, il fonctionnera python setup.py install
, mais avec des options spécifiques pour contrôler comment et où les choses finissent installé.
en résumé: utiliser pip
.