La différence entre conda install et pip install.Comparaison de fonctions, etc. [Python]
Jusqu'à présent, l'installation de pip n'était reconnue comme un substitut que lorsque l'installation de conda n'était pas disponible.Si le package que je voulais n'était pas dans le référentiel Anaconda, je l'ai installé avec pip, et à un moment donné, l'environnement a été corrompu en raison de ces conflits.
L'environnement Anaconda a été corrompu lorsque je pensais que Jupyter Notebook ne démarrerait pas
Comme c'était une excellente opportunité, j'ai étudié la différence entre pip et conda, je vais donc le laisser comme un mémorandum ci-dessous.
Différence entre conda et pip
Qu'est-ce que Conda
En un mot, il s'agit d'un gestionnaire de packages qui est livré en standard avec Anaconda / Miniconda et est un système de gestion environnementale.
Anaconda est une plate-forme qui fournit des packages pour la science des données (si vous venez découvrir la différence entre conda et pip, vous le savez déjà). Vous pouvez installer en même temps des langages de programmation pour la science des données tels que Python et R, ainsi que les packages requis pour l'analyse statistique et l'apprentissage automatique, et vous pouvez immédiatement créer un environnement qui utilise Python.
Il existe également une Miniconda qui a la configuration minimale.
conda ne fonctionne que lorsqu'il est installé par l'installateur Anaconda ou l'installateur miniconda. Même si vous installez conda dans l'environnement de python + pip, vous ne pouvez pas l'utiliser comme sur la distribution Anaconda.
Qu'est-ce que pip
Un installateur de package python standard et un système de gestion de packages fourni avec l'installation de python pur.
Il télécharge et installe des packages à partir de Python Package Index (PyPI), un référentiel pour les langages de programmation Python.
Différences dans chaque fonction
Les rôles de conda et pip sont résumés dans un tableau simple.
機能 | compter | pépin |
---|---|---|
Installation et gestion des packages | 可 | 可 |
Changer de version de Python | 可 | Pas possible (remplacer par pipenv, pyenv) |
Gestion de l'environnement virtuel | 可 | Pas possible (remplacer par pipenv, virtualenv, venv) |
Puisque conda est également un système de gestion d'environnement, vous pouvez créer un environnement virtuel, changer la version Python en 3.7 ou passer à 2.7.
Avec pip, vous installerez et utiliserez des packages tels que pyenv (contrôle de version) et venv (gestion d'environnement virtuel).
Récemment, pipenv est sorti, et il semble qu'il a une fonction qui peut presque remplacer conda.
conda install et pip install
Les commandes pour conda install et pip install sont similaires, mais le mécanisme d'installation des packages semble être assez différent. Il existe un tableau de comparaison facile à comprendre sur le site anaconda.com, je vais donc le citer (japonais et modifié pour le rendre plus facile à comprendre).
installation de conda | installer pip | |
---|---|---|
Format du package | binaire | roue ou source |
compiler | 不要 | Nécessaire |
Type d'emballage | D'autres langues sont également possibles | python uniquement |
Gestion de l'environnement virtuel, gestion des versions | Possible | Pas possible (remplace virtualenv, venv) |
Contrôle de dépendance | あ り | aucun |
Source de téléchargement du package | référentiel anaconda, nuage anaconda | PyPl |
・ Conda prend en charge des langages autres que python
Anaconda / Miniconda est une plateforme multiplateforme qui vous permet d'installer plusieurs langages de programmation tels que Python, R, Ruby, Java, JavaScript, C / C ++, FORTRAN et leurs packages.
conda peut installer des progiciels écrits en plusieurs langues sur sa multiplateforme.
pip ne peut être installé que sur des packages Python.
-Si une compilation est requise
Plus de 1000 packages pouvant être installés avec la commande conda sont stockés dans un référentiel dédié appelé Anaconda cloud.
Étant donné que ces packages sont des fichiers binaires compilés, ils peuvent être téléchargés et installés sans avoir besoin d'un compilateur.
Les fichiers que vous installez avec pip contiennent les fichiers source, que vous devrez compiler côté client.
Cela peut poser des problèmes en fonction de l'environnement, et cela semble être l'une des causes qui trébuche souvent lors de la construction d'un environnement.peut être.Cela peut nécessiter des dépendances externes.
・ Qu'il y ait ou non un contrôle de dépendance
Il semble que pip ne garantit pas que toutes les dépendances sont satisfaites en même temps à chaque fois qu'un package est installé.Dans ce cas, des conflits se produiront si les packages installés ont des versions différentes des packages dont ils dépendent.
conda prend en charge cela en fournissant un solveur SAT qui collecte les métadonnées de tous les packages afin de comprendre les dépendances.Lors de l'installation, comprenez rapidement les dépendances complexes entre les packages et effectuez les mises à jour et les installations appropriées.
・ Différence de vitesse d'exécution
Il y avait également des informations selon lesquelles les opérations matricielles avec numpy installé avec conda sont plus rapides.Cela dépend du type de calcul, mais il semble que la différence soit plus du double.
Il existe différentes méthodes d'implémentation pour BLAS (Basic Linear Algebra Subprograms) qui gèrent en fait les opérations matricielles appelées par NumPy, et l'une d'entre elles est Intel MKL (Math Kernel Library) développée par Intel.).En fait, BLAS appelé depuis NumPy installé par Anaconda est MKL, mais lorsque NumPy est installé avec pip, BLAS appelé OpenBLAS est généralement utilisé, il est donc possible qu'il y ait une différence de performances ici.
Différence de vitesse NumPy entre NumPy d'Anaconda et pip-Orizuru
BLAS est une bibliothèque qui effectue des calculs matriciels et vectoriels de base. Il y a plus de fourmis vivantes dans la bibliothèque numpy et je ne suis pas sûr ...
"Dans quelle mesure la vitesse de traitement des calculs change réellement en fonction de la différence de BLAS" et "Comment savoir quel BLAS est utilisé dans votre environnement" sont résumés en détail dans les pages suivantes.Veuillez vous référer si vous le souhaitez.
Il semble que la vitesse de calcul change en fonction du BLAS utilisé pour Numpy [Python]
C'est la différence entre conda et pip.
参照
Comprendre Conda et Pip
https://conda.io/en/latest/
Comparez les vitesses de NumPy d'Anaconda et de NumPy de PyPI
Arrêtez d'installer Tensorflow en utilisant pip pour des raisons de performances!
discussion
Liste des commentaires
Il n'y a pas encore de commentaires