Путь поиска.Rprofile отличается от пути по умолчанию

Рассмотрим две строки ниже:

Sys.setenv(R_IMPORT_PATH = "/path/to/my/r_import")
foo <- modules::import("foo")

Если я выполняю этот код из уже установленного интерактивного сеанса R, он работает нормально.

Но если я поставлю те же две строки в моем .Rprofile и начать новый интерактивный сеанс R, modules::import линия не соответствует

Error in module_init_files(module, module_path) : 
  could not find function "setNames"

Если я тогда попробую следующее исправление / взлом

Sys.setenv(R_IMPORT_PATH = "/path/to/my/r_import")
library(stats)
foo <- modules::import("foo")

... тогда modules::import линия по-прежнему не работает, но со следующим

Error in lapply(x, f) : could not find function "lsf.str"

Таким образом, идея залатать пропущенные имена кажется, что это будет непреодолимый кошмар...


Важнейшая проблема заключается в следующем: похоже, что путь поиска сразу после начала сеанса интерактивного поиска отличается от того, который .Rprofile сценарий видит.

Q1: Есть ли способ, которым я могу сказать R сделать путь поиска точно таким, каким он будет, когда первый > подсказка появляется в интерактивном сеансе?

Q2: в качестве альтернативы, есть ли способ для .Rprofile запланировать запуск некоторого кода после того, как будет найден путь поиска по умолчанию для сеанса?


NB: Решения, подобные следующим:

Sys.setenv(R_IMPORT_PATH = "/path/to/my/r_import")
library(stats)
library(utils)
foo <- modules::import("foo")

... могут сломаться каждый раз, когда (сторонний) modules пакет изменен.

0 ответов

Другие вопросы по тегам