2013-01-25 10 views
5

Quando si installa un pacchetto Rcpp su Windows, è necessario assicurarsi che il pacchetto DLL sia scaricato o che venga visualizzato un errore di "Autorizzazione negata" durante la copia della nuova DLL. Questo significa riavviare R su ogni ricompilare, il che è piuttosto fastidioso. C'è un modo per scaricare la DLL del pacchetto senza uccidere R?È possibile scaricare le DLL del pacchetto Rcpp senza riavviare R?

Ho provato il comando detach("package:my_package", force=TRUE), ma non scarica la DLL.

risposta

3

Se si vuole fare questo nella sessione R principale (senza l'utilizzo di RStudio, il che rende la reinstallazione del pacchetto e ricaricare R molto facile), è possibile utilizzare devtools:

library(devtools) 
load_all("path/to/my/package") 

Tra le altre cose, load_all volontà ricaricare tutto il codice R e ricompilare e ricollegare la DLL.

4

Suppongo che sia necessario eseguire library.dynam.unload per scaricare DLL.

6

Le opinioni sono divise su questo. Spesso preferisco eseguire le build e test al di fuori delle mie sessioni R principali, semplicemente concatenando R CMD INSTALL con Rscript (o, su Linux, r chiamate da littler) per testare la nuova build. Se si utilizzano le opzioni appropriate a R CMD INSTALL ... per saltare parti che potrebbero richiedere più tempo, si ottiene un rapido ritorno E si ha la certezza che si ottiene una nuova build.

E se si desidera lo stesso comportamento facendo clic su un pulsante, RStudio offre anche questo.

Problemi correlati