有没有办法让Python脚本加载和使用环境模块 http://modules.sourceforge.net/? os.system('module load xxx')
不起作用,因为它在子 shell 中执行它们(至少,我认为这就是发生的情况)。
我知道这个问题有点老了,但它仍然足够相关,我一直在寻找答案,所以我发布了我发现也有效的内容:
至少在 3.2.9+ 源代码中,您可以包含 python“init”文件来获取模块的 python 函数版本:
>>> exec(open('/usr/local/Modules/default/init/python.py').read())
>>> module('list')
No Modulefiles Currently Loaded.
>>> module('load','foo')
>>> module('list')
Currently Loaded Modulefiles:
1) foo/1.0
有人告诉我早期版本可以在没有 .py 扩展名的情况下执行相同的操作,但那是二手的,所以 ymmv。
替代的“init”文件位置(来自@lib的评论):/usr/share/Modules/init/python.py
要与 Python 3 一起使用,需要 4.0 版或更高版本的环境模块,因为这是第一个具有无错误的 Python3 兼容版本的 Python 初始化文件的版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)