从 Python 加载环境模块

Loading Environment Modules from Python

我无法弄清楚这一点。在这种情况下,我想模块加载一个 aligner-"bowtie" 。下面是我的代码片段:

import subprocess
moduleCmd=['module', 'load','/modules/ogi-mbc/software/bowtie/bowtie2-2.2.4/bowtie2']
subprocess.Popen(moduleCmd,shell=True)

当我 运行 我的脚本时,我收到以下消息:

cmdModule.c(166):ERROR:11: Usage is 'module command  [arguments ...]

Modules Release 3.2.10 2012-12-21 (Copyright GNU GPL v2 1991):

Usage: module [ switches ] [ subcommand ] [subcommand-args ]`

程序在 运行 脚本后未加载。

使用子进程测试简单命令,例如:

testCmd=['ls', '-l']
subprocess.Popen(testCmd,shell=True)

我得到了预期的输出。

从 [link] 获得提示 (Loading environment modules within a python script)

以下工作: cmd=os.popen("/usr/bin/modulecmd python load bowtie/2.2.4) exec(cmd))

以防其他人遇到同样的问题,因为其他方法都不起作用。

注意:使用 python/2.7.3,其他环境模块也适用于其他工具。