Nothing
test_that("construct_conda_yml works", {
save_path <- tempfile(fileext = "myenv_conda.yml")
path1 <- construct_conda_yml(name="myenv",
dependencies=c("anndata","scanpy"),
return_path = TRUE,
save_path = save_path)
testthat::expect_true(file.exists(path1))
yml1 <- construct_conda_yml(name="myenv",
dependencies=c("anndata","scanpy"),
return_path = FALSE,
save_path = save_path)
testthat::expect_true(all(c("name","channels","dependencies") %in% names(yml1)))
yml2 <- construct_conda_yml(name="myenv",
dependencies=c("anndata>=1.0","scanpy<20.1.1"),
pip = c("mytool1","mytool2"),
return_path = FALSE,
save_path = save_path)
testthat::expect_true(all(c("name","channels","dependencies") %in% names(yml2)))
testthat::expect_true(all(c("mytool1","mytool2") %in% yml2$dependencies[[4]][[1]]))
yml3 <- construct_conda_yml(name="myenv",
dependencies=c("anndata","scanpy"),
preview = TRUE,
return_path = FALSE,
save_path = save_path)
testthat::expect_true(all(c("name","channels","dependencies") %in% names(yml3)))
#### Construct an actual conda env ####
if(conda_installed() &&
is_gha() &&
.Platform$OS.type != "windows"){
envname <- "testenv"
if(condaenv_exists(envname)){
reticulate::conda_remove(envname = envname)
}
#### From conda yaml ####
path2 <- construct_conda_yml(name=envname,
dependencies=list("python"),
pip=list("requests"),
preview = TRUE,
return_path = TRUE,
save_path = save_path)
testthat::expect_true(file.exists(path2))
## Don't run on CRAN servers due to ongoing internet connectivity issues
if(!is_gha()) testthat::skip_if_offline()
# conda <- conda_path()
out <- reticulate::conda_create(environment = path2,
envname = envname)
testthat::expect_true(file.exists(out))
testthat::expect_equal(basename(out),"python")
testthat::expect_equal(basename(dirname(dirname(out))),envname)
### Test conda_export
exported_yml <- conda_export(envname)
testthat::expect_true(file.exists(exported_yml))
testthat::expect_gte(length(readLines(exported_yml)),20)
#### From requirements.txt ####
## Currently fails due to error:
## Error: Error creating conda environment [exit code 1]
# envname2 <- "testenv2"
# req_txt <- conda_export(name = envname,
# preview = TRUE)
# out <- reticulate::conda_create(environment = req_txt,
# # channel = c("conda-forge","bioconda"),
# envname = envname2)
# testthat::expect_true(file.exists(out))
# testthat::expect_equal(basename(out),"python")
# testthat::expect_equal(basename(dirname(dirname(out))),envname)
}
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.