Pip vs. Conda (Python)

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

pip (Pip Installs Packages) en Conda lijken broertjes van elkaar te zijn, want het zijn allebei package managers. In de praktijk is de overlap slechts beperkt.

Vermoedelijk voor mij het belangrijkste verschil:

  • pip beheert uitsluitend Python-packages
  • Conda beheert heterogene packages, wo. Python-packages met niet-Python-dependencies (bv. NumPy, SciPy & Matplotlib).

Nog een paar verschillen:

  • Conda heeft een eigen environment manager. Deze is volledig compatibel met pip, en heeft daarnaast enkele voordelen
  • Conda kan overweg met pre-compiled binary distributions - Vooral relevant voor packages met veel extensies, zoals NumPy en SciPy. pip Heeft deze functionaliteit later overgenomen in de vorm van Wheels
  • Conda doet aan version management voor externe packages. Dat is iets dat Wheels niet kan. Bv. security updates voor OpenSSL, de afgelopen jaren
  • Conda kent een volwaardige dependency resolver, itt. pip.

Historie

Conda is ontstaan, omdat de maintainers van NumPy tegen de grenzen van pip aanliepen. Guido van Rossum: It really sounds like your needs are so unusual compared to the larger Python community that you're just better off building your own [1], [2] & Myth #4

Zie ook

Bronnen