0

我想从 python 脚本中加载一个模块。我正在使用一个名为spack的自定义管理器,它的spack load <module>功能类似于module loadlinux 上的常规命令。我曾尝试同时使用 os 和 subprocessing 来运行这些命令,但结果总是没有任何反应,即使我没有收到错误消息。

发行

spack load mpi

使模块出现在列表中

spack find --loaded

但是,在 python 中调用这些命令根本不会发生任何事情:

out = os.popen('spack load mpi').read()
out, err = subprocess.Popen(['spack load mpi'], stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
out, err = subprocess.Popen(['spack', 'load', 'mpi'], stderr=subprocess.PIPE, stdout=subprocess.PIPE)

还有什么我可以尝试的吗?为什么这个命令只有在我直接在我的 shell 会话中输入时才有效?如何使这个加载命令适用于我当时正在使用的特定 shell 会话来调用这个 python 脚本?

4

0 回答 0