Alright. I've got this working now.
I posted this comment on reddit also and had someone give me a bit of advice that I needed to hear.
"You don't use venv between computers, you should always recreate it."
I've always added my virtual environments to my github repos and apparetnly this isn't common practice for obvious reasons that I have been running into.
So I added my venv into the .gitignore file, and I created a bash script to setup the environment.
Turns out this was a noob issue.