Différence entre "python setup.py installer" et "pip install'
J'ai un package externe je veux l'installer dans mon python virtualenv à partir d'un fichier tar.
Quelle est la meilleure façon d'installer le paquet?
J'ai découvert 2 moyens qui peuvent le faire:
- Extraire le fichier tar, puis exécutez
python setup.py install
à l'intérieur de l'extrait du répertoire. pip install packagename.tar.gz
à partir de l'exemple n ° 7 dans https://pip.pypa.io/en/stable/reference/pip_install/#examples
Est si il y a une différence à faire dans ces 2 façons.
- Utilisation
pip
. Vous pouvez désinstaller des paquets avec elle. - "À partir de la source", comme dans "VCS caisse", ou, comme dans
sdist
? - Ce qui est "mieux" dépend de vos exigences! Avez-vous essayé l'une de ces solutions et de l'échec de leur manque d'une certaine façon? Ou demandez-vous quelle est la différence entre ces deux approches?
- Sur fedora, par exemple, à l'aide de
yum
.
Vous devez vous connecter pour publier un commentaire.
Sur la surface, à la fois faire la même chose: le faire soit
python setup.py install
oupip install <PACKAGE-NAME>
vous permettront d'installer votre paquet python pour vous, avec un minimum de tracas.Cependant, l'utilisation de pip offre certains avantages supplémentaires qui font qu'il est beaucoup plus agréable à utiliser.
setup.py
, vous avez souvent à rechercher manuellement et télécharger les dépendances, ce qui est fastidieux et peut devenir frustrant.pip uninstall <PACKAGE-NAME>
etpip install --upgrade <PACKAGE-NAME>
. En revanche, si vous installez un package à l'aide desetup.py
, vous devez supprimer manuellement et de maintenir un paquet à la main si vous voulez vous en débarrasser, ce qui pourrait être sujette à des erreurs.setup.py
, vous devez visiter le site web de la bibliothèque, de figure où le télécharger, extraire le fichier, exécutezsetup.py
... En revanche, pip va automatiquement chercher le Python Package Index (PyPi) pour voir si le paquet existe, et va automatiquement télécharger, extraire et installer le paquet pour vous. À quelques exceptions près, presque tous seul vraiment utile bibliothèque Python peuvent être trouvés sur PyPi.virtualenv
, qui est un programme qui vous permet d'exécuter de multiples projets qui nécessitent contradictoires, les bibliothèques et les versions de Python sur votre ordinateur. Plus d'infos.Donc, fondamentalement, l'utilisation du pip. Il ne propose que des améliorations par rapport à l'aide de
python setup.py install
.Si vous utilisez une ancienne version de Python, pouvez pas mettre à niveau, et n'ont pas de pip installé, vous pouvez trouver plus d'informations sur l'installation de pip sur les liens suivants:
pip, par lui-même, n'a pas vraiment besoin d'un tutoriel. 90% du temps, la seule commande que vous avez vraiment besoin est
pip install <PACKAGE-NAME>
. Cela dit, si vous êtes intéressés à en apprendre plus sur les détails de ce qu'est exactement que vous pouvez faire avec le pip, voir:Il est généralement recommandé que vous utilisez le pep et le virtualenv ensemble. Si vous êtes un débutant en Python, personnellement, je pense qu'il pourrait être bon de commencer avec juste l'aide de pip et installer des paquets à l'échelle mondiale, mais finalement, je ne pense que vous devriez l'aide de transition à virtualenv que de vous attaquer à de plus sérieux des projets.
Si vous souhaitez en savoir plus sur l'utilisation de la pep et de virtualenv ensemble, voir:
python setup.py install
est l'analogue de faire installer: c'est une façon limitée pour compiler et copier les fichiers des répertoires de destination. Cela ne veut pas dire que c'est la meilleure façon de vraiment installer le logiciel sur votre système.pip
est un gestionnaire de paquets, ce qui peut installer, mettre à niveau, liste et de désinstaller des paquets, à l'instar de familiariser les gestionnaires de paquets, y compris:dpkg, apt, yum, urpmi, ports
etc. Sous le capot, il sera exécutépython setup.py install
, mais avec des options spécifiques pour contrôler comment et où les choses finissent installé.En résumé: utilisation
pip
.La question est à propos la méthode préférée pour installer un local archive contenant un paquet python, PAS au sujet de l'avantage de téléchargement du package à un service d'indexation comme PyPi.
Que de peur je sais que certains logiciels distributeur de ne pas télécharger leur paquet de PyPi, au lieu de demander aux développeurs de télécharger le paquet à partir de leur site web et l'installer.
Cela peut fonctionner mais n'est pas recommandée. Il n'est pas nécessaire de déballer l'archive de fichier et ouvrez-le à exécuter setup.py fichier.
C'est la manière et préféré. Concis et de s'aligner sur PyPi de style paquets.
Plus d'informations sur
pip install
peut être trouvé ici: https://pip.readthedocs.io/en/stable/reference/pip_install/