【问题标题】:How to run a python script with its environment from another script with another environment?如何从另一个具有另一个环境的脚本运行具有其环境的 python 脚本?
【发布时间】:2019-09-16 20:18:57
【问题描述】:

我有两个脚本:script1.pyscript2.py

script1 有自己的环境(比如 python 2),而 script2 有自己的环境(比如 python 3)。

如何让脚本 1 调用脚本 2 及其对应的环境?

谢谢

【问题讨论】:

  • 那么,你解决了吗?
  • @LeonardoMiquelutti 没有。不得不求助于创建一个新进程并通过消息总线进行通信。不是一个好的解决方案,但一个可行的解决方案比美丽的没有更好
  • 我不得不将我的脚本分成 3 个部分(python 3、2 和 3 再次),但设法通过单个命令行运行它们。完全同意@Gulzar 美丽的虚无部分:)

标签: python


【解决方案1】:

我现在能想到的解决方法是os.system 用于执行其他文件。

示例:

script1.py

#!/usr/bin/env python3
import os

os.system("script2.py")

script2.py

#!/usr/bin/env python2

print "script 2 running..."

print "script 2 running..." 是一个很好的例子,因为python2.X 使用不带括号的printpython3.X 使用带括号的print()

请务必注意两个脚本上的 shebangs(#!/usr/bin/env python3#!/usr/bin/env python2),它们指向两个脚本的正确 entepreters/env

os.system 也可以与参数一起使用,例如 os.system("script2.py data.txt"),如果您想运行另一个带参数的脚本,这是非常棒的。

【讨论】:

  • 这在 Windows 中也能以同样的方式工作吗?只需在每个脚本的开头指定相关路径即可?
  • @Gulzar 可以使用Python Launcher for Windows
  • @Gulzar 应该是
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 2012-06-22
  • 1970-01-01
  • 1970-01-01
  • 2017-03-30
相关资源
最近更新 更多