The "source" command for choosing a Python virtual env does not work on Windows. It's only available on Unix. After looking through StackOverflow for how to use this properly, I was surprised to see the above answer quoted ubiquitously. The prevailing online opinion is that you should have venvs in a folder by themselves (rather than in your project) but if you do this, switching venvs is quite annoying since you need to type out the path for each env. I'm not a fan of this workflow, so I copied the activate/deactivate cmd and powershell scripts, made minor edits, and created the source command for windows. I'm surprised the creators of venv didn't do this themselves, as it took 30 min or less. Anyways, if you're like me and you want the command to be pathless/easy, I've answered this question below with the batch file and powershell script code I wrote. Setup steps below to get these commands working: Create the batch/powershell files in your chosen directory, for example C:/tools, then add it to PATH Edit "settings.txt" contents to be your virtual env root dir If you're using powershell, make sure your script execution policy is set correctly Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser That's it. Command usage is as follows: venv VirtualEnvName - creates a new venv with the given name source VirtualEnvName - activates the venv with the given name deactivate - deactivates current venv Continue reading...