Set up a python environment with required packages
setup_py_env(
  py_pkgs = c("scipy", "pandas"),
  python_version = NULL,
  py_env = c("conda", "virtual"),
  env_name = PYTHON_R_ENV,
  conda_env = get_conda_envs(),
  conda_path = NULL,
  update = FALSE,
  pip = FALSE,
  required = TRUE
)
install_py_pkgs(
  py_pkgs = c("scipy", "pandas"),
  py_env = c("conda", "virtual"),
  conda_path = NULL,
  env_name = PYTHON_R_ENV,
  pip = FALSE,
  update = FALSE,
  python_version = NULL
)
get_conda_paths()vector of python packages to install
The requested Python version. Ignored when attempting to install with a Python virtual environment.
Environment type. Either a conda or virtual environment.
an environment name to use for new virtual or conda environments.
path of the conda environment to use if py_env = "conda".
Run reticulate::conda_list() to see a list of available conda environments.
The conda_env should match the python element of that list if you are loading
an existing conda environment. If conda_env is not found in this list, a new
one will be created matching the name of env_name.
The path to a conda executable. If NULL, will default to the first one found.
See get_conda_paths() for details.
Logical (TRUE/FALSE). If TRUE, update packages that are
already installed. Otherwise skip their installation.
Logical (TRUE/FALSE). Use pip for package installation? This
is only relevant when Conda environments are used, as otherwise packages
will be installed from the Conda repositories.
Logical (TRUE/FALSE). Is the requested copy of Python required?
If TRUE, an error will be emitted if the requested copy of Python does not exist.
If FALSE, the request is taken as a hint only, and scanning for other versions
will still proceed. See reticulate::use_condaenv() for more details.
a named list of specifications pertaining to the python environment, including the packages that are installed there.
An environment will be required for each new R session.
For a virtual environment, the user would be installing these packages every time they want to run python on a clean R session. It is a smaller package size that a conda environment.
For a conda environment, users only need to install the required packages once. This may be less ideal if many python modules are required, or you are developing an R package.
see ?reticulate::py_install for more details
Inspired from reticulate:::find_conda(), though this function
will return all paths instead of the first one found in a hierarchy of priorities
install_py_pkgs(): Install python packages to a python environment
get_conda_paths(): Search for conda installations
You must restart your R session if you want to alternate between both environment types
if (FALSE) {
## With a conda environment (the default) ##
py_env <- setup_py_env(py_pkgs = c("pandas", "numpy", "scipy"))
py_env
# Specify a specific conda environment and conda installation
conda_envs <- reticulate::conda_list()
conda_paths <- pythonR::get_conda_paths()
py_env <- setup_py_env(
  py_pkgs = c("pandas", "numpy", "scipy", "tiktoken"),
  conda_path = conda_paths[1],
  conda_env = conda_envs$python[1],
  required = TRUE,
  update = TRUE,
  pip = TRUE
)
# Installing a package after setup (works with both environment types)
py_env <- setup_py_env(py_pkgs = c("pandas", "numpy"), py_env = "conda")
install_py_pkgs(py_pkgs = c('scipy'), env_name = py_env$env_name)
# Check that installed modules can be imported
check_py_pkgs_installed(c("pandas", "numpy", "scipy"))
## With a virtual environment ##
py_env <- setup_py_env(py_pkgs = c("pandas", "numpy", "scipy"), py_env = "virtual")
py_env
# shutdown virtual environment
shutdown_virtual_env(py_env$env_name)
}