If you use virtual environments, either using anaconda, miniconda or virtualenv, then I recommend that you use pyvenv.el. It requires a tiny bit of configuration which I may be able to help you out with if you need but it is generally pretty easy to setup. I use it to switch between different python versions and different virtual environments.
You should also be able to simply place a variable in your .dir-locals.el file. This file sets emacs variables based on the directory that you're in. If you want to set your python-interpetter based on the project or directory that you're in you can simply create a file called .dir-locals.el in the folder with the project files that you want to edit. In that file you should then have
((nil . ((python-shell-interpreter . "python3"))))
or
((nil . ((python-shell-interpreter . "python"))))
flycheck should then switch for you. Let me know if you have any questions. Also maybe take a look at this from the creator of flycheck