Ошибка при запуске R-скрипта в Python с SubProcess - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь запустить сценарий R, который находится в том же каталоге, что и сценарий python, во время выполнения сценария python.

Пока у меня есть:

if condition is True:
    import subprocess
    subprocess.call (["C:/Program Files/R/R-3.4.3/Rscript", "./testing.r"])
    sys.exit()

Я сохраняюполучаю ошибку:

OSError: [WinError 193] %1 is not a valid Win32 application

Я пытался заменить "C: / Program Files / R / R-3.4.3 / Rscript" на "/ usr / bin / Rscript", но продолжаю получать ту же ошибку,Мне было интересно, если кто-нибудь узнает, почему он продолжает выдавать эту ошибку?

1 Ответ

0 голосов
/ 23 мая 2018

Я считаю, что аргументы subprocess.call передаются прямо в командную строку, поэтому вам нужно экранировать кавычки как таковые "\" C: / Program Files / R / R-3.4.3 / Rscript \ "",При этом я получаю ошибку [WinError 5] о нарушении прав доступа при использовании этого.Обходной путь должен использовать аргумент исполняемый файл :

import sys
import subprocess

if True is True:
    subprocess.call(["C:/Program Files/R/R-3.4.3/Rscript.exe", "./testing.r"], 
                    executable="C:/Program Files/R/R-3.4.3/Rscript.exe")
    sys.exit()

Также убедитесь, что C: / Program Files / R / R-3.4.3 / Rscript.exe является местоположениемваш Rscript.exe.У меня есть C: / Program Files / R / R-3.4.3 / bin / Rscript.exe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...