我想从 python 脚本中加载一个模块。我正在使用一个名为spack的自定义管理器,它的spack load <module>
功能类似于module load
linux 上的常规命令。我曾尝试同时使用 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 脚本?