[Rd] Stop packages and datasets to be loaded on startup.
Simon Urbanek
simon.urbanek at r-project.org
Sat Jan 30 18:02:04 CET 2010
On Jan 30, 2010, at 11:08 AM, Guillaume Yziquel wrote:
> Hi.
>
> I would like to know how to start an embedded R session, and avoid datasets and the standard library packages to be loaded on startup.
>
> I've been looking at littler's code (so this is partly a question to Dirk Eddelbuettel...):
>
>> /* We don't require() default packages upon startup; rather, we
>> * set up delayedAssign's instead. see autoloads().
>> */
>> if (setenv("R_DEFAULT_PACKAGES","NULL",1) != 0){
>> perror("ERROR: couldn't set/replace R_DEFAULT_PACKAGES");
>> exit(1);
>> }
>
> The code above happens before Rf_initEmbeddedR in littler.
>
> So I gather that just setting R_DEFAULT_PACKAGES to NULL should be OK. But then, what is the rather complicated stuff in the autoload() function in littler.c for?
>
> And concerning datasets, how do you avoid loading them?
>
Setting R_DEFAULT_PACKAGES to NULL makes sure that default packages are not loaded. Note that "datasets" are not loaded at all -- you can load the datasets package which will make them available, but they are not really "loaded". The minimal setup is simply
R_DEFAULT_PACKAGES=NULL R --vanilla
However, it's your responsibility to load any packages that your code needs in that case.
Cheers,
Simon
More information about the R-devel
mailing list