我正在尝试安装rtools,以便我可以安装另一个软件包(Google的causalimpact),并且该过程表明我的R路径环境有问题.
主要问题
我无法R从cmd窗口运行.
预期的行为是在下面输出并给出>提示:
R version 3.1.1 (blah blah)
...
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
Run Code Online (Sandbox Code Playgroud)
但实际结果是:
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
附加信息
然而Rcmd,我可以从cmd 运行和Rgui(除了之外R)没有错误.
Where R 打印输出 C:\Program Files\R\R-3.1.1\bin\x64\R.exe
Where Rcmd 打印输出 C:\Program Files\R\R-3.1.1\bin\x64\Rcmd.exe
Where Rgui 打印输出 C:\Program Files\R\R-3.1.1\bin\x64\Rgui.exe
返回指向其各自exe文件的相同路径.
这显然是我的全局环境路径的问题,但我不明白为什么它会产生这个错误
路径看起来像(最后一行的R路径):
c:\Rtools\bin
c:\Rtools\gcc-4.6.3\bin
C:\RBuildTools\3.1\bin
C:\RBuildTools\3.1\gcc-4.6.3\bin
c:\Rtools\bin
c:\Rtools\gcc-4.6.3\bin
C:\Python27\
C:\Python34\
C:\Python34\Scripts
C:\Program Files (x86)\Intel\iCLS Client\
C:\Program Files\Intel\iCLS Client\
C:\windows\system32
C:\windows
C:\windows\System32\Wbem
C:\windows\System32\WindowsPowerShell\v1.0\
C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86
C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT
C:\Program Files (x86)\QuickTime\QTSystem\
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\
c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\
C:\strawberry\c\bin
C:\strawberry\perl\site\bin
C:\strawberry\perl\bin
C:\Program Files\MiKTeX 2.9\miktex\bin\x64\
C:\Program Files\MiKTeX 2.9\miktex\bin\x64\
C:\Program Files\R\R-3.1.1\bin\x64
Run Code Online (Sandbox Code Playgroud)
我可以通过在cmd窗口中输入任一名称来运行Python和Perl,并且以同样的方式指向R,我无法理解上述错误.
如果有人对我如何解决这个错误有任何建议,我将非常感激.
我之前没有在这里问过这种性质的问题所以任何编辑/指针也非常受欢迎.
原始路径:
PATH=C:\Program Files\R\R-3.1.1\bin\x64;C:\Program Files\R\R-3.1.1\bin\x64;c:\Rt
ools\bin;c:\Rtools\gcc-4.6.3\bin;C:\RBuildTools\3.1\bin;C:\RBuildTools\3.1\gcc-4
.6.3\bin;c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin;C:\Python27\;C:\Python34\;C:\Pyth
on34\Scripts;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iC
LS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\Sy
stem32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x
86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files\Intel\In
tel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Manageme
nt Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine
Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Componen
ts\IPT;C:\Program Files (x86)\QuickTime\QTSystem\;c:\Program Files (x86)\Microso
ft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microso
ft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Bi
nn\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\strawberry\c\bi
n;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\Program Files\MiKTeX 2.9
\miktex\bin\x64\;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\Users\Tariq.Muma
n\AppData\Local\Pandoc\
Run Code Online (Sandbox Code Playgroud)
这是因为空间的原因.CMD理解:使用参数"Files\R\R-3.1.1\bin\x64\R.exe"执行"C:\ Program ".
你应该引用整个字符串:
"C:\Program Files\R\R-3.1.1\bin\x64\R.exe"
Run Code Online (Sandbox Code Playgroud)
...一个技巧是从您的Windows资源管理器中将exec文件拖放到命令窗口中,您将获得要使用的正确字符串.
尝试将PATH变量调整为 PATH=C:\Progra~1\R\R-3.1.1\bin\x64;...
看起来很可能你的系统正在将空白Program Files作为路径中的终止字符进行解析.如上所述调整定义应该是不可能的.