La diferencia entre conda install y pip install.Comparación de funciones, etc. [Python]
Hasta ahora, la instalación de pip solo se reconocía como un sustituto cuando la instalación de conda no estaba disponible.Si el paquete que quería no estaba en el repositorio de Anaconda, lo instalé con pip y, en un momento, el entorno se corrompió debido a estos conflictos.
El entorno de Anaconda se corrompió cuando pensé que el Jupyter Notebook no se iniciaría
Como era una gran oportunidad, investigué la diferencia entre pip y conda, por lo que lo dejaré como memorando a continuación.
Diferencia entre conda y pip
Que es Conda
En pocas palabras, es un administrador de paquetes que viene de serie con Anaconda / Miniconda y es un sistema de gestión ambiental.
Anaconda es una plataforma que proporciona paquetes para ciencia de datos (si vienes a descubrir la diferencia entre conda y pip, ya lo sabes). Puede instalar lenguajes de programación para ciencia de datos como Python y R, y los paquetes necesarios para el análisis estadístico y el aprendizaje automático, todo a la vez, y puede crear de inmediato un entorno que use Python.
También hay una Miniconda que tiene la configuración mínima.
conda solo funciona cuando lo instala el instalador de Anaconda o el instalador de miniconda. Incluso si instala conda en el entorno de python + pip, no puede usarlo como en la distribución de Anaconda.
Que es pip
Un instalador estándar de paquetes de Python y un sistema de administración de paquetes que viene con la instalación de Python puro.
Descarga e instala paquetes desde Python Package Index (PyPI), un repositorio para lenguajes de programación Python.
Diferencias en cada función
Los roles de conda y pip se resumen en una tabla simple.
Caracteristicas | Conda | pepita |
---|---|---|
Instalación y administración de paquetes | Puede | Puede |
Cambiar la versión de Python | Puede | No es posible (sustituir con pipenv, pyenv) |
Gestión del entorno virtual | Puede | No es posible (sustituir con pipenv, virtualenv, venv) |
Dado que conda también es un sistema de gestión de entornos, puede crear un entorno virtual, cambiar la versión de Python a 3.7 o cambiar a 2.7.
Con pip, instalará y utilizará paquetes como pyenv (control de versiones) y venv (gestión del entorno virtual).
Recientemente, ha salido pipenv, y parece que tiene una función que casi puede reemplazar a conda.
conda install y pip install
Los comandos para instalar conda y pip install son similares, pero el mecanismo para instalar paquetes parece ser bastante diferente. Hay una tabla de comparación fácil de entender en el sitio anaconda.com, así que la citaré (en japonés y modificada para que sea más fácil de entender).
instalación de conda | instalación de pip | |
---|---|---|
Formato de paquete | バ イ ナ リ | rueda o fuente |
コ ン パ イ ル | 不要 | 必要 |
Tipo de paquete | También son posibles otros idiomas | Python solamente |
Gestión de entornos virtuales, gestión de versiones | 可能 | No es posible (sustituto de virtualenv, venv) |
Verificación de dependencia | あ り | ninguno |
Fuente de descarga del paquete | repositorio anaconda, nube anaconda | PyPl |
・ Conda admite otros idiomas además de Python
Anaconda / Miniconda es una plataforma multiplataforma que le permite instalar múltiples lenguajes de programación como Python, R, Ruby, Java, JavaScript, C / C ++, FORTRAN y sus paquetes.
conda puede instalar paquetes de software escritos en varios idiomas en su multiplataforma.
pip solo se puede instalar en paquetes de Python.
-Si se requiere compilación
Más de 1000 paquetes que se pueden instalar con el comando conda se almacenan en un repositorio dedicado llamado Anaconda Cloud.
Dado que estos paquetes son archivos binarios compilados, se pueden descargar e instalar sin necesidad de un compilador.
Los archivos que instala con pip contienen los archivos fuente, que deberá compilar en el lado del cliente.
Esto puede causar problemas dependiendo del entorno, y parece ser una de las causas que a menudo tropieza al construir un entorno.quizás.Puede requerir dependencias externas.
・ Si hay o no una verificación de dependencia
Parece que pip no garantiza que se satisfagan todas las dependencias al mismo tiempo cada vez que se instala un paquete.En este caso, se producirán conflictos si los paquetes instalados tienen diferentes versiones de los paquetes de los que dependen.
conda admite esto al proporcionar un solucionador SAT que recopila metadatos para todos los paquetes para comprender las dependencias.Al realizar la instalación, comprenda rápidamente las complejas dependencias entre los paquetes y realice las actualizaciones e instalaciones adecuadas.
・ Diferencia en la velocidad de ejecución
También hubo información de que las operaciones matriciales con numpy instalado con conda son más rápidas.Depende del tipo de cálculo, pero parece que la diferencia es más del doble.
Hay varios métodos de implementación para BLAS (subprogramas de álgebra lineal básica) que realmente manejan las operaciones matriciales llamadas por NumPy, y uno de ellos es Intel MKL (Math Kernel Library) desarrollado por Intel.).En realidad, BLAS llamado desde NumPy instalado por Anaconda es MKL, pero cuando NumPy se instala con pip, generalmente se usa BLAS llamado OpenBLAS, por lo que existe la posibilidad de que haya una diferencia en el rendimiento aquí.
Diferencia en la velocidad de NumPy entre NumPy de Anaconda y pip-Orizuru
BLAS es una biblioteca que realiza cálculos básicos de matrices y vectores. Hay más hormigas vivas en la biblioteca numpy y no estoy seguro ...
"Cuánto cambia realmente la velocidad de procesamiento del cálculo en función de la diferencia en BLAS" y "Cómo averiguar qué BLAS se utiliza en su entorno" se resumen en detalle en las páginas siguientes.Consulte si lo desea.
Parece que la velocidad de cálculo cambia según el BLAS utilizado para Numpy [Python]
Esa es la diferencia entre conda y pip.
Referencia
Entendiendo a Conda y Pip
https://conda.io/en/latest/
Compare las velocidades de NumPy de Anaconda y NumPy de PyPI
¡Deje de instalar Tensorflow usando pip por el rendimiento!
discusión
Lista de comentarios
Aún no hay comentarios