There is a way to swap out the unreal engine’s default python 2.7 to Python 3.x and higher …BUT you need to rebuild the engine from source code with the higher version of python swapped in. Under the following directory there is a bat file that will help swap out the python version. I believe you need to register your python 3.6 under system path for the bat file to recognize/find that python install and then swap it in. Once its copied all the python files (running that bat file), you will need to open up visual studio and build the engine/editor/everything. I tried this on ue4.21 and it worked perfectly. Haven’t done this on ue4.22 yet. Again the following file comes from the source code on github, not through the launcher.
Epic also mentions it here on this page.
For reloading, you want to reload your own modules/scripts inside of the ue editor, so you don’t need to relaunch the editor everytime you make a change (to the py file…using whatever IDE).
Also unreal modules do not work outside the editor itself or a separate python installation.