Get the latest tech news
Problems with Python dependency management
How a fire starts Let's walk through a common scenario. You have a repetitive task which you want to automate with minimal effort.
The point here is to recognize that your "simple" script or Jupyter notebook often relies on a tall and complex stack of systems, libraries, and environmental conditions in order to function. At the most basic level, a version control system ensures that you can always roll your code back to any recorded point in history (i.e. a "commit"), so you can make changes fearlessly. Disadvantages: Slow, written in Python (should no longer be true since 2022, version 22.11, as pointed out by Kevin Markham, see this post) Serial downloads of packages (should no longer be true since 2022, version 22.11, as pointed out by Kevin Markham, see this post) Somewhat intrusive installation process (modifies shell config) Limited interoperability with the "main" Python ecosystem No lock file Building and distributing packages for Conda is painful (but this is also the case for wheels with extension modules)
Or read this on Hacker News