Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

usage with future_map, not finding attached packages #153

Open
datapumpernickel opened this issue Jan 10, 2024 · 1 comment
Open

usage with future_map, not finding attached packages #153

datapumpernickel opened this issue Jan 10, 2024 · 1 comment

Comments

@datapumpernickel
Copy link

datapumpernickel commented Jan 10, 2024

Hi,

thanks for this great package, it has been very useful to me in many instances!
I am not sure if I found a bug or just a limitation of the package. I want to use the package together with future_map and once a function is memoised, the attached packages are somehow not found by the function anymore.

See the attached minimal reproducible example:

library(future)
library(furrr)
library(xml2)
library(memoise)
library(dplyr)

test_function <- function(url){
  return(read_xml(url))
}

future::plan("multisession", workers = 2)
test_data <- tibble(id = 1:10, url ="https://data.europarl.europa.eu/org/5704")

## future_map finds the package, although the external pointer is invalid because of some xml error with future_map
future_map(test_data$url, test_function)

## now lets memoise the function
test_function <- memoise::memoise(test_function)

## future_map does not find the attached xml2 package anymore
future_map(test_data$url, test_function)

## map finds it
map(test_data$url, test_function)

Hope this is the right place for this!

Session Info

R version 4.2.2 (2022-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows Server x64 (build 14393)

Matrix products: default

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252    LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
[5] LC_TIME=German_Germany.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] dplyr_1.1.4   memoise_2.0.1 xml2_1.3.3    furrr_0.3.1   future_1.28.0

loaded via a namespace (and not attached):
 [1] rstudioapi_0.14   parallelly_1.32.1 magrittr_2.0.3    tidyselect_1.2.0  R6_2.5.1          rlang_1.1.2       fastmap_1.1.0    
 [8] fansi_1.0.4       globals_0.16.1    tools_4.2.2       parallel_4.2.2    utf8_1.2.3        cli_3.6.2         digest_0.6.31    
[15] tibble_3.2.1      lifecycle_1.0.3   purrr_1.0.1       vctrs_0.6.5       codetools_0.2-18  glue_1.6.2        cachem_1.0.6     
[22] compiler_4.2.2    pillar_1.9.0      generics_0.1.3    listenv_0.8.0     pkgconfig_2.0.3  
@datapumpernickel
Copy link
Author

a quick fix is, to just add the namespaces to the functions, e.g.:

test_function <- function(url){
  return(xml2::read_xml(url))
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant