How to run my script with one version of python from script with another version of python? Also, is there a way to catch all outputs of my script and print it?
1 Answer
So you want to theoretically run say a script with python2 from a script running with python3? (Or something like that, I'm not really sure) If so I would use subprocess. You can find more information on that https://docs.python.org/2/library/subprocess.html and How do I execute a program from python? os.system fails due to spaces in path.
#my python3 script
import subprocess
subprocess.call(["python2", "python2scipt.py"])
3 Comments
Jan Vlcinsky
Better use
subprocess.call(["python2", "python2script.py"]) - each part of command line call being one item in the list.alby
Thanks a lot. It worked for me:
output = subprocess.Popen(p, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE).communicate()[0]Donkyhotay
Oops, you're right I did forget those are necessary when using subprocesses. Thanks for the catch. I've corrected my example.
subprocessmodule.