簡體   English   中英

在 Windows 上使用 ubuntu 終端運行 python 子進程

[英]Running python subprocess with ubuntu terminal on windows

有沒有辦法在Windows下運行python模塊subprocess進程,但是使用安裝在wsl中的Ubuntu終端。

我的第一個猜測是通過函數中的 excutable 關鍵字提示 ubuntu 終端:

subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None, **other_popen_kwargs)

我需要能夠使用我的 python 程序運行OpenFOAM命令的功能,而無需將我的 python 代碼遷移到 Linux 系統。

編輯:進一步澄清我的問題:

我有一個運行不同 python 代碼的 GUI。 從那里我需要運行 OpenFOAM,它只在 Linux 下可用。 為了克服這個限制,我使用 Ubuntu (WSL)。 我需要一個 WSL shell 在后台運行,執行 linux 命令並設置 OpenFOAM 所需的環境。

手動使用 Ubuntu,我啟動終端並獲取 .bashrc 文件的源,其中設置了所有環境變量。 從那里我可以使用 OpenFoam 命令來運行模擬。 直接從 python 代碼執行這些步驟會很棒。

希望這可以幫助其他人解決這個問題:

我解決這個問題的方法是,我在我的 wsl 文件中創建一個 .sh 文件,我用wsl chmod -x filename.sh編譯,然后用source filename.sh運行它。

在我的 .sh 文件中,我通過獲取我想在我的腳本中使用的 OpenFoam 版本的 bashrc 文件來加載 OpenFoam 的環境變量。 從那里,我可以定義每個步驟,這通常是我在終端中所做的。 (類似於 OpenFoam 示例中的 Allrun 文件)

暫無
暫無

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

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