def test_missing_r_base(): with pytest.raises(RError) as err: env = Environment.read(name="test_env_name_that_does_not_exist") check_r_base_package(env=env) assert ( str(err.value) == f'"r-base" not installed.\nFound conda packages:\n[]\nMust have "r-base" conda installed to install R packages.' )
def r_remove(name: str, specs=ListLike, yes: bool = False) -> Environment: """R remove spec""" env = Environment.read(name=name) check_r_base_package(env=env) packages = Packages.from_specs(specs) RHandler(env=env).remove(packages=packages) _ask_user_to_sync(name=name, yes=yes) return env
def r_install( name: str, package_names: ListLike, commands: ListLike, yes: bool = False ) -> Environment: """Install R packages with corresponding R command.""" env = Environment.read(name=name) check_r_base_package(env=env) packages = clean_r_specs(package_names=package_names, commands=commands) RHandler(env=env).install(packages=packages) _ask_user_to_sync(name=name, yes=yes) return env