簡體   English   中英

當我嘗試通過 python 腳本執行 shell 命令時出現錯誤“找不到模塊”

[英]I'm getting an error “module not found ” when I'm trying to execute shell commands through a python script

執行以下語句時

out1 = subprocess.run("module load python",shell = True, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)

生成此錯誤。

/bin/sh:模塊:命令未找到。

我想使用 python 腳本執行 shell 命令,上面的語句不起作用,但是當我在 shell 上執行相同的語句時,它工作正常並且沒有生成錯誤。

module不是外部命令,而是 function 以使用的 shell/腳本語言定義。 因此,要在 Python 腳本中啟用module命令,您需要使用以下代碼對其進行初始化:

import os
exec(open('/usr/share/Modules/init/python.py').read())

/usr/share/Modules/init替換為您機器上安裝python.py腳本(來自 environment-modules 軟件)的位置。

初始化后,您可以從腳本中調用module function:

module('load', 'modulefile')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM