[英]python subprocess won't run phantomjs, but works in linux command line
[英]Python subprocess fails although it works in the command line
我正在嘗試從 Python 運行 R 腳本。 Rscript train.R
與 Jupyter Notebook 位於同一文件夾中。 工作目錄設置為該文件夾。
import subprocess
try:
subprocess.check_call(['Rscript', 'train.R'], shell=False)
except subprocess.CalledProcessError as e:
print(e.output)
print(e.returncode)
print(e)
print(e.stderr)
我收到一個 CalledProcessError:
None
1
Command '['Rscript', 'train.R']' returned non-zero exit status 1
None
我嘗試設置參數shell=True
並嘗試設置參數cwd=os.path.dirname(os.path.realpath("train.R"))
如此處所述。
如果我在文件夾中打開控制台,命令Rscript train.R
就可以正常工作。
我究竟做錯了什么?
我建議你改用Popen
import subprocess
try:
pro = subprocess.Popen(['Rscript', 'train.R'], shell=False)
stdout, stderr = pro.communicate()
print(stdout)
print(stderr)
有了這個,您應該能夠從子流程中獲取錯誤或輸出值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.