J'ai un package externe que je veux installer dans mon python virtualenv à partir d'un fichier tar. Quelle est la meilleure façon d'installer le package?
J'ai découvert 2 façons de le faire:
- Extrayez le fichier tar, puis exécutez-le
python setup.py install
dans le répertoire extrait. pip install packagename.tar.gz
à partir de l'exemple n ° 7 dans https://pip.pypa.io/en/stable/reference/pip_install/#examples
Est-ce qu'il y a une différence en les faisant de ces 2 façons.
python
virtualenv
pip
setup.py
user2125465
la source
la source
pip
. Vous pouvez désinstaller des packages avec.sdist
?yum
.Réponses:
En apparence, les deux font la même chose: faire l'un
python setup.py install
ou l' autre oupip install <PACKAGE-NAME>
installer votre paquet python pour vous, avec un minimum de tracas.Cependant, l'utilisation de pip offre des avantages supplémentaires qui le rendent beaucoup plus agréable à utiliser.
setup.py
, vous devez souvent rechercher et télécharger manuellement 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 et maintenir manuellement un package si vous souhaitez vous en débarrasser, ce qui pourrait être source d'erreurs.setup.py
, vous devez visiter le site Web de la bibliothèque, déterminer où le télécharger, extraire le fichier, exécutersetup.py
... En revanche, pip recherchera automatiquement l' index du package Python (PyPi) pour voir si le package existe, et téléchargera, extraira et installera automatiquement le package pour vous. À quelques exceptions près, presque toutes les bibliothèques Python vraiment utiles peuvent être trouvées sur PyPi.virtualenv
, qui est un programme qui vous permet d'exécuter plusieurs projets nécessitant des bibliothèques et des versions Python en conflit sur votre ordinateur. Plus d'infos .Donc, en gros, utilisez pip. Il n'offre que des améliorations par rapport à l'utilisation
python setup.py install
.Si vous utilisez une ancienne version de Python, que vous ne pouvez pas mettre à niveau et que vous n'avez pas installé pip, vous pouvez trouver plus d'informations sur l'installation de pip sur les liens suivants:
pip, en lui-même, ne nécessite pas vraiment de tutoriel. 90% du temps, la seule commande dont vous avez vraiment besoin est
pip install <PACKAGE-NAME>
. Cela dit, si vous souhaitez en savoir plus sur les détails de ce que vous pouvez faire exactement avec pip, consultez:Il est également généralement recommandé d'utiliser pip et virtualenv ensemble. Si vous êtes un débutant en Python, je pense personnellement que ce serait bien de commencer par simplement utiliser pip et d'installer des packages à l'échelle mondiale, mais finalement je pense que vous devriez passer à l'utilisation de virtualenv lorsque vous vous attaquez à des projets plus sérieux.
Si vous souhaitez en savoir plus sur l'utilisation conjointe de pip et virtualenv, consultez:
la source
python setup.py install
télécharge et installe également des dépendances. Est-ce un changement depuis que vous avez écrit cette réponse en 2013?python setup.py install
est l'analogue de make install: c'est un moyen limité de compiler et de copier des fichiers dans les répertoires de destination. Cela ne veut pas dire que c'est la meilleure façon d'installer réellement 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 fonctionnerapython setup.py install
, mais avec des options spécifiques pour contrôler comment et où les choses finissent installées.En résumé: utilisation
pip
.la source
La question porte sur la méthode préférée pour installer une archive tar locale contenant un package python, PAS sur l'avantage de télécharger un package vers un service d'indexation comme PyPi.
Pour ne pas savoir que certains distributeurs de logiciels ne téléchargent pas leur package sur PyPi, demandant à la place aux développeurs de télécharger le package à partir de leur site Web et de l'installer.
Cela peut fonctionner mais n'est pas recommandé. Il n'est pas nécessaire de dérouler le fichier tarball et d'y accéder pour exécuter le fichier setup.py.
C'est la manière conçue et préférée. Concis et aligné avec les packages de style PyPi.
Plus d'informations sur
pip install
peuvent être trouvées ici: https://pip.readthedocs.io/en/stable/reference/pip_install/la source