For a long time, I didn't understand how to use Virtual Environments in Python ๐.
If this is just, let's end it here and now: ๐งต๐
[2] Virtual Environments let you deal with the dependencies that your code has with external Python libraries.
It avoids having conflicts when your projects depend on different versions of the same library.
๐
[3] Let's imagine that you are building your first Python project and you install the "requests" library:
pip install requests
You get version 2.24.0 installed in your system.
๐
[4] A month later, you decide to work on your second project. It also needs the "requests" library.
But the latest version is not 2.24.0 anymore.
Now version 3 is available, and that's the one you want to use!
๐
[5] You could upgrade your entire system to version 3, but then you'll be potentially breaking the first project you built that depends on 2.24.0!
Can you imagine this happening on a server with many more applications running?
๐