我需要同时使用python2.7和python3.6进行任务。我用conda创建了两个python env。我知道如何使用Shell脚本来控制代码运行并在不同的环境之间切换。假设我需要先运行python2.7代码,然后再运行python 3.6。我的问题是我可以先运行python 2.7代码,然后在python 2.7代码中直接激活python3.6 conda env,然后运行python 3.6代码吗?
答案 0 :(得分:0)
对于您的任务,仅使用以下命令从python调用shell即可更改环境:
your python 2.7 code
os.system("Command to change your kernel")
your python 3.6 code
也许您需要添加一些额外的代码来获取输出或新输入(如果有) 并继续运行代码。
如果这不起作用,则可能更容易直接从命令中调用python 3.6函数:
os.system("python3 '/function36.py' ")
或者也可以使用2.7代码中的函数subprocess.call:
return_code = subprocess.call("python3 '/function36.py'", shell=True)
使用Python 3.6,您还可以使用subprocess.run()