Мой последний два вопроса были просто смущающими, но я быть уверенным, что это реальная сделка. Моя система является новой установкой, поэтому версии актуальны, кроме ОС: Windows 7 SP1, R-3.0.1, Lyx 2.0.6, Knitr 1.2, gdata 2.12.0.2.
Во-первых, отмечу, что gdata корректно работает в RGui. Теперь вот документ, который я пытаюсь скомпилировать:
И вот вывод.
Пакет gdata также успешно загружается в Rscript, вызываемом из командной строки. Я использовал LyX для экспорта файла .Rnw, который успешно вяжется из RGui и из скрипта, переданного в Rscript из командной строки.
У меня была похожая (или, возможно, такая же, я не могу поклясться в идентичности сообщения об ошибке) проблема, когда я впервые начал пользоваться компьютером. На тот раз это было связано с контролем учетных записей пользователей Windows 7 и было решено, когда я понял, как автоматически запускать R от имени администратора (без перехода по клику — мило). Поэтому я попытался удалить атрибут «только для чтения» и все ограничения безопасности для всего, что могло быть задействовано — папка R, папка LyX, папка моего пакета, MikTeX. Не повезло.
Что дальше?
ETA: Насколько я могу судить, ни один R-скрипт, вызванный из LyX, не может загрузить пакет gdata. Я изменил конвертер файлов, чтобы записать stdout и stderr в файл, что дало то же сообщение об ошибке, что и на скриншоте выше, но с предшествующим этим:
Не удается найти Data/Dumper.pm в @INC (@INC содержит: C:/Users/cyanofsky/Documents/R/win-library/3.0/gdata/perl C:/Program Files (x86)/MiKTeX 2.9/miktex /lib .) в C:/Users/cyanofsky/Documents/R/win-library/3.0/gdata/perl/module_tools.pl строка 11.
Ошибка BEGIN — компиляция прервана в C:/Users/cyanofsky/Documents/R/win-library/3.0/gdata/perl/module_tools.pl, строка 11.
Ошибка компиляции в C:/Users/cyanofsky/Documents/R/win-library/3.0/gdata/perl/supportedFormats.pl, строка 9.
работает 'C:\Program Files\R\R-3.0.1\bin\x64\Rterm.exe --slave --no-restore --no-save --no-restore --file=C:/Program Files (x86)/LyX 2.0/Ресурсы/скрипты/lyxknitr.R --args C:/Users/cyanofsky/AppData/Local/Temp/lyx_tmpdir.Hp8008/lyx_tmpbuf3/xxxxxxxxx.Rnw C:/Users/cyanofsky/AppData/Local/ Temp/lyx_tmpdir.Hp8008/lyx_tmpbuf3/xxxxxxxx.tex ISO-8859-15'
ETA: поиск Data/Dumper выдал следующее:
http://help.directadmin.com/item.php?id=189
Я убедился, что в моей установке Perl64 есть модуль данных; это в C:\Perl64\lib. Так что это случай, когда какая-то переменная пути где-то неправильно настроена. Это не переменная префикса пути LyX; нет, нет, это было бы слишком просто.
За ответ Ихуи:
Из графического интерфейса (в данном случае RStudio):
> strsplit(Sys.getenv('PATH'), ';')
[[1]]
[1] "C:\\Program Files\\R\\R-3.0.1\\bin\\x64"
[2] "C:\\Program Files\\R\\R-3.0.1\\bin\\x64"
[3] "C:\\Perl64\\site\\bin"
[4] "C:\\Perl64\\bin"
[5] "c:\\Rtools\\bin"
[6] "c:\\Rtools\\gcc-4.6.3\\bin"
[7] "c:\\Program Files (x86)\\AMD APP\\bin\\x86_64"
[8] "c:\\Program Files (x86)\\AMD APP\\bin\\x86"
[9] "c:\\Program Files (x86)\\Intel\\iCLS Client\\"
[10] "c:\\Program Files\\Intel\\iCLS Client\\"
[11] "C:\\Windows\\system32"
[12] "C:\\Windows"
[13] "C:\\Windows\\System32\\Wbem"
[14] "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\"
[15] "c:\\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static"
[16] ""
[17] "C:\\Program Files\\Intel\\WiFi\\bin\\"
[18] "C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\"
[19] "C:\\Program Files (x86)\\Intel\\OpenCL SDK\\3.0\\bin\\x86"
[20] "C:\\Program Files (x86)\\Intel\\OpenCL SDK\\3.0\\bin\\x64"
[21] "C:\\Program Files (x86)\\MiKTeX 2.9\\miktex\\bin\\"
> Sys.which('perl')
perl
"C:\\Perl64\\bin\\perl.exe"
Вот изнутри вызова Rscript:
> load("~/lyxknitrpaths.RData")
> syspath
[[1]]
[1] "C:\\Program Files\\R\\R-3.0.1\\bin\\x644"
[2] "LyXDir\\bin"
[3] "$LyXDir\\Python"
[4] "$LyXDir\\Python\\Lib"
[5] "$LyXDir\\imagemagick"
[6] "C:\\Program Files (x86)\\MiKTeX 2.9\\miktex\\bin"
[7] "C:\\Program Files (x86)\\LyX 2.0\\ghostscript\\bin"
[8] "C:\\Perl64\\lib"
[9] "C:\\Perl64"
[10] "C:\\Program Files (x86)\\LyX 2.0\\\\Python"
[11] "C:\\Program Files (x86)\\LyX 2.0\\\\Python\\Lib"
[12] "C:\\Program Files (x86)\\LyX 2.0\\\\imagemagick"
[13] "C:\\Program Files (x86)\\LyX 2.0\\\\bin"
[14] "C:\\Program Files (x86)\\LyX 2.0\\bin\\"
[15] "C:\\Program Files\\R\\R-3.0.1\\bin\\x64"
[16] "C:\\Perl64\\site\\bin"
[17] "C:\\Perl64\\bin"
[18] "c:\\Rtools\\bin"
[19] "c:\\Rtools\\gcc-4.6.3\\bin"
[20] "c:\\Program Files (x86)\\AMD APP\\bin\\x86_64"
[21] "c:\\Program Files (x86)\\AMD APP\\bin\\x86"
[22] "c:\\Program Files (x86)\\Intel\\iCLS Client\\"
[23] "c:\\Program Files\\Intel\\iCLS Client\\"
[24] "C:\\Windows\\System32"
[25] "C:\\Windows"
[26] "C:\\Windows\\System32\\wbem"
[27] "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\"
[28] "c:\\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static"
[29] "C:\\Program Files\\Intel\\WiFi\\bin\\"
[30] "C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\"
[31] "C:\\Program Files (x86)\\Intel\\OpenCL SDK\\3.0\\bin\\x86"
[32] "C:\\Program Files (x86)\\Intel\\OpenCL SDK\\3.0\\bin\\x64"
[33] "C:\\Program Files (x86)\\MiKTeX 2.9\\miktex\\bin\\"
> perlpath
perl
"C:\\PROGRA~2\\MIKTEX~1.9\\miktex\\bin\\perl.exe"