Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.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
Python shell中的命令行执行或R脚本文件出现问题_Python_R_Shell_Ubuntu - Fatal编程技术网

Python shell中的命令行执行或R脚本文件出现问题

Python shell中的命令行执行或R脚本文件出现问题,python,r,shell,ubuntu,Python,R,Shell,Ubuntu,我目前正在使用optparse包将R脚本文件转换为命令行可执行文件,该文件接受C样式的长和短标志。该程序正在Ubuntu上运行。整个应用程序的执行由Python脚本控制,该脚本(1)首先使用os.system调用script.R文件上的chmod,如下所示: import os os.system("chmod +x script.R; export PATH=$PATH:`pwd`") program_call = "script.R --arg1 1" os.system(program

我目前正在使用
optparse
包将R脚本文件转换为命令行可执行文件,该文件接受C样式的长和短标志。该程序正在Ubuntu上运行。整个应用程序的执行由Python脚本控制,该脚本(1)首先使用
os.system
调用
script.R
文件上的
chmod
,如下所示:

import os 
os.system("chmod +x script.R; export PATH=$PATH:`pwd`")
program_call = "script.R --arg1 1"
os.system(program_call) 
然后,我再次尝试在Python中使用
os.system
执行该程序,如下所示:

import os 
os.system("chmod +x script.R; export PATH=$PATH:`pwd`")
program_call = "script.R --arg1 1"
os.system(program_call) 
这将返回错误:

sh: 1: script.R: not found
32512

真正令人费解的是,就在一天前,它还可以正常工作,但现在却出了问题。我正在和其他几个人一起开发这个应用程序,所以我想知道这是否是由我的管理权限的更改引起的。我已经验证了所有必需的文件都包含在当前工作目录中

os.system
的第一次调用中对
PATH
环境变量的更改不会延续到第二次调用,因为这是一个单独的shell进程。如果您改为在Python中修改
PATH
,它应该可以工作。试一试

os.environ['PATH'] += ":" + os.getcwd()
os.system("chmod +x script.R")
program_call = "script.R --arg1 1"
os.system(program_call) 

到目前为止,我想到的最好办法是rm-rf git回购协议,重新克隆它,并关闭除一个终端窗口外的所有窗口。由于某种原因,这会起作用,程序会停止抛出错误。还是不知道为什么会发生这种事