Sé que pip
es un administrador de paquetes para paquetes de Python. Sin embargo, vi la instalación en el sitio web de IPython usar conda
para instalar IPython.
¿Puedo usar pip
para instalar IPython? ¿Por qué debería usarlo conda
como otro administrador de paquetes de Python cuando ya lo tengo pip
?
¿Cuál es la diferencia entre pip
y conda
?
conda
/enpgk
está dirigido anew users who want to get up and running with minimal effort
: Pabellón / anaconda son environement independiente, que no interfieren con el pitón del sistema (como Venv pero más potente). Por cierto IPyhton, no iPython (mayúscula I)Respuestas:
Citando del blog de Conda :
Entonces Conda es una herramienta de empaque e instalador que tiene como objetivo hacer más de lo que
pip
hace; manejar las dependencias de la biblioteca fuera de los paquetes de Python, así como los paquetes de Python en sí. Conda también crea un entorno virtual, como lovirtualenv
hace.Como tal, Conda debería compararse con Buildout , quizás, otra herramienta que le permite manejar tareas de instalación tanto de Python como de otras.
Debido a que Conda presenta un nuevo formato de empaque, no puede usar
pip
y Conda indistintamente;pip
no se puede instalar el formato del paquete Conda. Puede usar las dos herramientas una al lado de la otra (instalandopip
conconda install pip
) pero tampoco interoperan.Desde que escribió esta respuesta, Anaconda ha publicado una nueva página sobre Comprender Conda y Pip , que también refleja esto:
y más adelante
fuente
pip install
.Aquí hay un breve resumen:
pipa
conda
conda build
que construye paquetes desde la fuente, peroconda install
instala cosas de paquetes Conda ya construidos.En ambos casos:
Los primeros dos puntos de Conda son realmente los que lo hacen ventajoso sobre pip para muchos paquetes. Dado que las instalaciones de pip desde la fuente, puede ser doloroso instalar cosas con él si no puede compilar el código fuente (esto es especialmente cierto en Windows, pero incluso puede ser cierto en Linux si los paquetes tienen alguna biblioteca C o FORTRAN difícil dependencias) Conda se instala desde binario, lo que significa que alguien (por ejemplo, Continuum) ya ha hecho el trabajo duro de compilar el paquete, por lo que la instalación es fácil.
También hay algunas diferencias si está interesado en crear sus propios paquetes. Por ejemplo, pip se construye sobre las herramientas de configuración, mientras que Conda usa su propio formato, que tiene algunas ventajas (como ser estático y, de nuevo, independiente de Python).
fuente
pip install --use-wheel <package>
instalará un paquete integrado. Ver aquí: wheel.readthedocs.org/en/latest . Sin embargo, mi experiencia personal con la rueda es que hay tan pocos paquetes de ruedas científicas disponibles que sean puramente académicos. Y, por supuesto, la instalación de pip en su mayoría tampoco funciona en Windows si su entorno de compilación no está configurado correctamente. Así que por el momento, conda ftw.Las otras respuestas dan una descripción justa de los detalles, pero quiero resaltar algunos puntos de alto nivel.
pip es un administrador de paquetes que facilita la instalación, actualización y desinstalación de paquetes de python . También funciona con entornos virtuales de python .
conda es un administrador de paquetes para cualquier software (instalación, actualización y desinstalación). También funciona con entornos de sistemas virtuales .
Uno de los objetivos con el diseño de conda es facilitar la administración de paquetes para toda la pila de software requerida por los usuarios, de los cuales una o más versiones de Python pueden ser solo una pequeña parte. Esto incluye bibliotecas de bajo nivel, como álgebra lineal, compiladores, como mingw en Windows, editores, herramientas de control de versiones como Hg y Git, o cualquier otra cosa que requiera distribución y administración. .
Para la gestión de versiones, pip le permite cambiar y administrar múltiples python entornos de .
Conda le permite cambiar y administrar múltiples entornos de uso general en los que varias otras cosas pueden variar en el número de versión, como bibliotecas C, compiladores, conjuntos de pruebas o motores de bases de datos, etc.
Conda no está centrado en Windows, pero en Windows es, con mucho, la solución superior actualmente disponible cuando se requieren instalar y administrar paquetes científicos complejos que requieren compilación.
Quiero llorar cuando pienso en cuánto tiempo he perdido tratando de compilar muchos de estos paquetes a través de pip en Windows, o depurar
pip install
sesiones fallidas cuando se requirió la compilación.Como punto final, Continuum Analytics también aloja (gratis) binstar.org (ahora llamado anaconda.org ) para permitir a los desarrolladores de paquetes regulares crear sus propias pilas de software personalizadas (¡construidas!) Desde las cuales sus usuarios de paquetes podrán hacerlo
conda install
.fuente
Keras
en mi código, instalé anaconda en mi mac y Keras estáconda
instalado epip
instalado. Entonces, cuando ejecuto mi código en la terminal, ¿cómo sé cuálkeras
se está importando (elpip
uno o elconda
uno)?Para no confundirlo más, pero también puede usar pip dentro de su entorno de conda, que valida los comentarios de gerentes generales frente a los específicos de python anteriores.
También puede agregar pip a los paquetes predeterminados de cualquier entorno para que esté presente cada vez y no tenga que seguir el fragmento anterior.
fuente
fully supported
?fully recommended
implica, mejor usar pip que conda, dentro de un entorno de conda, en mi opinión, ¿y no estoy seguro de que eso es lo que quieren decir?Cita del artículo de Conda for Data Science en el sitio web de Continuum:
fuente
Citando de Conda: mitos y conceptos erróneos (una descripción completa):
...
Mito # 3: Conda y pip son competidores directos
Realidad: Conda y pip tienen diferentes propósitos, y solo compiten directamente en un pequeño subconjunto de tareas: instalar paquetes de Python en entornos aislados.
Pip, que significa P ip I nstalls P ackages, es el administrador de paquetes sancionado oficialmente de Python, y se usa más comúnmente para instalar paquetes publicados en Python Package Index (PyPI). Tanto pip como PyPI están gobernados y respaldados por Python Packaging Authority (PyPA).
En resumen, pip es un administrador de propósito general para paquetes Python; conda es un administrador de entorno multiplataforma independiente del lenguaje. Para el usuario, la distinción más destacada es probablemente esta: pip instala paquetes de python en cualquier entorno; conda instala cualquier paquete dentro de entornos conda. Si todo lo que está haciendo es instalar paquetes de Python dentro de un entorno aislado, conda y pip + virtualenv son en su mayoría intercambiables, modulo alguna diferencia en el manejo de dependencias y la disponibilidad de paquetes. Por entorno aislado me refiero a conda-env o virtualenv, en el que puede instalar paquetes sin modificar la instalación de Python de su sistema.
Incluso dejando a un lado el Mito # 2, si nos centramos en la instalación de paquetes de Python, conda y pip sirven a diferentes audiencias y diferentes propósitos. Si quiere, por ejemplo, administrar paquetes de Python dentro de una instalación existente de Python del sistema, conda no puede ayudarlo: por diseño, solo puede instalar paquetes dentro de entornos conda. Si quiere, por ejemplo, trabajar con los muchos paquetes de Python que dependen de dependencias externas (NumPy, SciPy y Matplotlib son ejemplos comunes), mientras que el seguimiento de esas dependencias de una manera significativa, pip no puede ayudarlo: por diseño, administra paquetes de Python y solo paquetes de Python.
Conda y pip no son competidores, sino herramientas centradas en diferentes grupos de usuarios y patrones de uso.
fuente
Para usuarios de WINDOWS
La situación de las herramientas de embalaje "estándar" está mejorando recientemente:
en pypi, ahora hay 48% de los paquetes de ruedas a partir de septiembre. 11 de 2015 (frente al 38% en mayo de 2015, 24% en septiembre de 2014),
el formato de la rueda ahora es compatible con la última versión de Python 2.7.9,
La situación de las herramientas de embalaje "estándar" + "ajustes" también está mejorando:
Puede encontrar casi todos los paquetes científicos en formato de rueda en http://www.lfd.uci.edu/~gohlke/pythonlibs ,
El proyecto mingwpy puede traer un día un paquete de 'compilación' a los usuarios de Windows, lo que permite instalar todo desde la fuente cuando sea necesario.
El empaque "Conda" sigue siendo mejor para el mercado al que sirve, y destaca áreas en las que el "estándar" debería mejorar.
(también, la especificación de dependencia de esfuerzo múltiple, en el sistema de rueda estándar y en el sistema conda, o construcción, no es muy pitónica, sería bueno si todas estas técnicas de 'núcleo' de empaquetado pudieran converger, a través de una especie de PEP)
fuente
pip
Es un administrador de paquetes.conda
es tanto un administrador de paquetes como un administrador de entorno.Detalle:
Referencias
fuente
Claro, ambos (primer enfoque en la página)
y (tercer enfoque, segundo es
conda
)son formas oficialmente recomendadas de instalación .
Como se dice aquí :
Conda supera pip in ( YMMV )
Eso es ampliamente respondido por todos los demás.
fuente
pip
es solo para Pythonconda
es solo para Anaconda + otros paquetes científicos como las dependencias R, etc. NO todos necesitan Anaconda que ya viene con Python. Anaconda es principalmente para aquellos que hacen aprendizaje automático / aprendizaje profundo, etc. El desarrollador casual de Python no ejecutará Anaconda en su computadora portátil.fuente
Es posible que haya encontrado otra diferencia de naturaleza menor. Tengo mis entornos de Python en
/usr
lugar de/home
o lo sea. Para instalarlo, tendría que usarsudo install pip
. Para mí, el efecto secundario no deseado de lasudo install pip
era ligeramente diferente a lo que se informó ampliamente en otra parte: después de hacerlo, tuve que correrpython
consudo
el fin de importar cualquiera de lossudo
paquetes -Instalación. Renuncié a eso y finalmente descubrí que podía usarsudo conda
para instalar paquetes en un entorno en el/usr
que luego se importaba normalmente sin necesidad desudo
permisopython
. Incluso solíasudo conda
arreglar un roto enpip
lugar de usarsudo pip uninstall pip
osudo pip --upgrade install pip
.fuente