Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x I';“我得到一个错误”;“未找到模块”;当我';我试图通过python脚本执行shell命令_Python 3.x_Linux_Shell_Subprocess_Environment Modules - Fatal编程技术网

Python 3.x I';“我得到一个错误”;“未找到模块”;当我';我试图通过python脚本执行shell命令

Python 3.x I';“我得到一个错误”;“未找到模块”;当我';我试图通过python脚本执行shell命令,python-3.x,linux,shell,subprocess,environment-modules,Python 3.x,Linux,Shell,Subprocess,Environment Modules,当执行下面的语句时 out1=subprocess.run(“模块加载python”,shell=True,stdout=subprocess.PIPE,stderr=subprocess.stdout) 此错误已生成 /bin/sh:未找到模块:命令 我想使用python脚本执行shell命令,但上述语句不起作用,但当我在shell上执行相同的语句时,它工作正常,不会生成错误。模块不是一个外部命令,而是一个用shell/脚本语言定义的函数。因此,要在Python脚本中启用模块命令,需要使用以下

当执行下面的语句时

out1=subprocess.run(“模块加载python”,shell=True,stdout=subprocess.PIPE,stderr=subprocess.stdout)

此错误已生成

/bin/sh:未找到模块:命令


我想使用python脚本执行shell命令,但上述语句不起作用,但当我在shell上执行相同的语句时,它工作正常,不会生成错误。

模块
不是一个外部命令,而是一个用shell/脚本语言定义的函数。因此,要在Python脚本中启用
模块
命令,需要使用以下代码对其进行初始化:

import os
exec(open('/usr/share/Modules/init/python.py').read())
/usr/share/Modules/init
替换为机器上安装
python.py
脚本(来自环境模块软件)的位置

初始化后,您可以从脚本调用
模块
函数:

module('load', 'modulefile')

由于
module
不是POSIX shell的有效内部命令(这就是您在这里运行的命令),因此会在您的路径中搜索名为module的可执行文件,但显然没有。因此出现了错误消息。那么我应该怎么做才能使命令正常工作呢?将名为module的可执行文件所在的目录放入路径中。