Virtual Environments help keep all your installs for each project wrapped nicely so as not to affect other projects. It's like an invisible force-field protecting your project.
I was trying to reorganize my folders because I had so many of them. I moved them. Apparently if you move them, you ruin them. Big headache for all my projects.
1. Don't mess with virtual environments, unless you know what you're doing
2. Always have requirements.txt updated, even if you're the only one working on it. For situations like these!
Luckily almost all of my projects had a nice requirements.txt so I just threw in a pip install -r requirements.txt to make magic happen and my project was magically protected by it's forcefield again.
I also updated my system almost right after that, and I learned that that will mess with your virtual environments as well. Oh fun!