Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
Django 如何让Python以与在命令行(bash)上运行命令相同的方式执行命令?_Django_Python 3.x_Selenium_Selenium Chromedriver_Popen - Fatal编程技术网

Django 如何让Python以与在命令行(bash)上运行命令相同的方式执行命令?

Django 如何让Python以与在命令行(bash)上运行命令相同的方式执行命令?,django,python-3.x,selenium,selenium-chromedriver,popen,Django,Python 3.x,Selenium,Selenium Chromedriver,Popen,我在用麦克·莫哈韦。我可以从我的termianl(bash)成功运行此命令 PATH=/Users/davea/Documents/workspace/starter_project/selenium/dev/:$PATH selenium-side-runner -c "goog:chromeOptions.args=[--headless,--nogpu] browserName=chrome" /tmp/81a312ad-8fe1-4fb0-b93a-0dc186c3c585.side

我在用麦克·莫哈韦。我可以从我的termianl(bash)成功运行此命令

PATH=/Users/davea/Documents/workspace/starter_project/selenium/dev/:$PATH selenium-side-runner -c "goog:chromeOptions.args=[--headless,--nogpu] browserName=chrome" /tmp/81a312ad-8fe1-4fb0-b93a-0dc186c3c585.side 
我想从Python(3.7)/Django运行它,所以我编写了以下代码

SELENIUM_RUNNER_CMD = "/usr/local/bin/selenium-side-runner"
SELENIUM_RUNNER_OPTIONS = 'goog:chromeOptions.args=[--headless,--nogpu] browserName=chrome'
SELENIUM_WORKING_DIR = "/Users/davea/Documents/workspace/starter_project/selenium/"
SELENIUM_DRIVER_PATH = "/Users/davea/Documents/workspace/starter_project/selenium/dev"
...
def execute_selenium_runner_file(file_path):
    print("runner cmd:" + settings.SELENIUM_RUNNER_CMD)
    new_env = os.environ.copy()
    new_env['PATH'] = '{}:' + settings.SELENIUM_DRIVER_PATH + ':/usr/local/bin'.format(new_env['PATH'])
    out = Popen([settings.SELENIUM_RUNNER_CMD, "-c", settings.SELENIUM_RUNNER_OPTIONS, file_path], cwd=settings.SELENIUM_WORKING_DIR, env=new_env, stderr=STDOUT, stdout=PIPE)
    t = out.communicate()[0], out.returncode
    return t
但是,当运行Python时,进程将终止,并出现以下错误

Running /tmp/c847a3ce-c9f2-4a80-ab2a-81d9636c6dab.side
Error: spawn find ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:248:19)
    at onErrorNT (internal/child_process.js:431:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:17)

退出代码为“1”。我不清楚需要做什么才能让Python以与bash相同的方式运行命令行。任何建议都非常感谢。

我使用该问题的答案的可能重复,虽然(“popen”),但没有得到与在shell中执行命令时相同的结果。我使用该问题的答案的可能重复,虽然(“popen”),但没有得到与在shell中执行命令时相同的结果。