我需要同时使用 python2.7 和 python3.6 来完成任务。我使用 conda 创建了两个 python 环境。我知道如何使用 shell 脚本来控制代码运行并在不同环境之间切换。假设我需要先运行 python2.7 代码,然后运行 python 3.6。我的问题是我可以先运行python 2.7代码,然后在python 2.7代码中,直接激活python3.6 conda env,并运行python 3.6代码吗?
最佳答案
对于您的任务,也许只需使用以下命令从 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' ")
或者也使用函数subprocess.call来自您的 2.7 代码:
return_code = subprocess.call("python3 '/function36.py'", shell=True)
使用 Python 3.6,您还可以使用 subprocess.run()
关于python - 在 python 代码中激活另一个 conda env,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54430434/