System Pollution and Virtual Envs


I threw the topic of “System Pollution” into ChatGPT and this is what it said:

System pollution occurs when software dependencies accumulate over time within a system, creating a complex web of interconnected packages and modules. As developers add new libraries and frameworks to their projects, they often rely on specific versions of those dependencies, leading to potential conflicts and instability if other dependencies require different versions. This issue becomes even more pronounced in virtual environments, where separate project setups may share overlapping dependencies, increasing the risk of version mismatches and unforeseen compatibility problems. In extreme cases, this phenomenon can render systems nearly impossible to maintain and update, requiring significant effort to untangle the intricate knot of intertwined components.

Or in short: System pollution is when you install so much “stuff” on your computer that the programs began to interfere with each other. Specifically when it comes to “dependency files” (like python, or torch, or cuda, or.. really anything used for multiple purposes).

Everyone’s computer has a BASE environment: This is what you load into when you turn on your computer. When you install a program it is installed into the BASE environment (called “base env” from now on for brevity). If you install different versions of the same application, they can begin to conflict if the base env has not removed the old installation. When working with AI software, there is a TON of reinstallations, and this WILL take down your base environment over time.

That’s where virtual environments come in.

Instead of loading PyTorch 40+ times onto your base env, you can use package software like Miniconda (a stand alone package) or Pythons “env” tool. ENV is great for stand-alone software development and Miniconda works great for when working with multiple applications.

If the environment gets polluted? Just delete it and start-over. Easy peasy!

Leave a Reply

Your email address will not be published. Required fields are marked *