2016-01-13 81 views
0

我已經寫了一個結構腳本和boto在AWS實例上安裝R應用程序。 Fedora的23R CMD BATCH script.R,通過結構運行()執行永遠不會退出

使用運行& sudo的功能去如預期的所有命令,

,除了這一個:

@parallel 
def install_DvD(): 
#  with settings(hide('warnings', 'running', 'stdout', 'stderr'), warn_only=True): 
      cmd0 = 'R CMD BATCH %s/DvDdependencies.R' % (DvDpackage_location) 
      run(cmd0) 

正如你所注意到的,我嘗試使用 'warn_only =真正的',這下就沒有幫助。安裝成功完成,出現錯誤,我通過登錄到實例手動檢查並注視DvDdependencies.Rout文件。 我認爲出於對我不熟悉的原因,R CMD BATCH命令不會將執行返回到結構。

從Ctrl鍵輸出的回溯^ C我的本地系統上的布方法是:

[ec2-54-172-154-181.compute-1.amazonaws.com] run: R CMD BATCH ~/DvDdependencies.R 
[ec2-54-165-109-62.compute-1.amazonaws.com] run: R CMD BATCH ~/DvDdependencies.R 


^C 
Stopped. 
!!! Parallel execution exception under host u'ec2-54-165-109-62.compute-1.amazonaws.com': 
!!! Parallel execution exception under host u'ec2-54-172-154-181.compute-1.amazonaws.com': 
Process ec2-54-172-154-181.compute-1.amazonaws.com: 
Traceback (most recent call last): 
    File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap 
    self.run() 
    File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run 
Process ec2-54-165-109-62.compute-1.amazonaws.com: 
    self._target(*self._args, **self._kwargs) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/tasks.py", line 242, in inner 
Traceback (most recent call last): 
    File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap 
    submit(task.run(*args, **kwargs)) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/tasks.py", line 174, in run 
    return self.wrapped(*args, **kwargs) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/decorators.py", line 181, in inner 
    self.run() 
    File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run 
    self._target(*self._args, **self._kwargs) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/tasks.py", line 242, in inner 
    return func(*args, **kwargs) 
    File "/home/eyebell/local_bin/healX/DvD-installation/fabfile.py", line 70, in install_DvD 
    run(cmd0) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/network.py", line 649, in host_prompting_wrapper 
    submit(task.run(*args, **kwargs)) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/tasks.py", line 174, in run 
    return self.wrapped(*args, **kwargs) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/decorators.py", line 181, in inner 
    return func(*args, **kwargs) 
    return func(*args, **kwargs) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/operations.py", line 1056, in run 
    File "/home/eyebell/local_bin/healX/DvD-installation/fabfile.py", line 70, in install_DvD 
    run(cmd0) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/network.py", line 649, in host_prompting_wrapper 
    return func(*args, **kwargs) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/operations.py", line 1056, in run 
    shell_escape=shell_escape) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/operations.py", line 925, in _run_command 
    stderr=stderr, timeout=timeout) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/operations.py", line 811, in _execute 
    time.sleep(ssh.io_sleep) 
KeyboardInterrupt 
    shell_escape=shell_escape) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/operations.py", line 925, in _run_command 
    stderr=stderr, timeout=timeout) 
    File "/home/eyebell/local_bin/healX/DvD-installation/py2fabvirt/lib/python2.7/site-packages/fabric/operations.py", line 811, in _execute 
    time.sleep(ssh.io_sleep) 
KeyboardInterrupt 

完整的劇本是在我的github repoDvDdependencies.R 的位置(我想安裝腳本)

任何意見,幫助或指針正確的方向表示讚賞。

+0

因此,當您手動運行'R CMD BATCH /DvDdependencies.R'時,您會立即回來,但通過結構您不? ...有趣的 –

+0

是測試該命令手動它工作並退出。 除此之外,我還有$ R CMD INSTALL package.tar.gz命令,它們也可以毫無問題地工作。 – gprakhar

回答

0

我關閉此問題,因爲問題僅限於此腳本。 此外DvD工具的安裝方法已更新, 因此這不再有趣。