2013-01-25 14 views
5

Podczas instalowania pakietu Rcpp w systemie Windows, należy upewnić się, że biblioteka DLL pakietu jest rozładowana lub podczas kopiowania nowej biblioteki DLL pojawia się błąd "Odmowa uprawnień". Oznacza to restartowanie R przy każdej rekompilacji, co jest dość denerwujące. Czy istnieje sposób, aby wyładować DLL pakietu bez zabicia R?Czy biblioteki DLL Rcpp mogą zostać rozładowane bez restartowania R?

Próbowałem już polecenia detach("package:my_package", force=TRUE), ale nie rozładowuje biblioteki DLL.

Odpowiedz

3

Jeśli chcesz zrobić to w głównej sesji R (bez użycia RStudio, co sprawia, ponownej instalacji pakietu i przeładunku R bardzo łatwe), można użyć DevTools:

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

między innymi load_all będzie ponownie załaduj cały kod R, a następnie ponownie skompiluj i ponownie dołącz bibliotekę DLL.

4

Domyślam się, że trzeba uruchomić library.dynam.unload, aby zwolnić DLL.

6

Opinie są podzielone na ten temat. Często wolę uruchamiać kompilacje i testować poza moją główną sesją R, po prostu łącząc R CMD INSTALL z Rscript (lub, na Linux, r, wywołania z Littlera), aby przetestować nową kompilację. Jeśli użyjesz odpowiednich opcji, aby R CMD INSTALL ... pominąć części, które mogą zająć więcej czasu, otrzymasz szybką zmianę ORAZ masz pewność, że otrzymasz nową kompilację.

A jeśli chcesz zachować to samo zachowanie, klikając przycisk, RStudio również je oferuje.

Powiązane problemy