Select the version of Python to be used by reticulate
.
use_python(python, required = NULL)use_python_version(version, required = NULL)
use_virtualenv(virtualenv = NULL, required = NULL)
use_condaenv(condaenv = NULL, conda = "auto", required = NULL)
use_miniconda(condaenv = NULL, required = NULL)
The path to a Python binary.
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. A value of NULL
(the default), is equivalent to TRUE
.
The version of Python to use. reticulate
will search for versions of
Python as installed by the install_python()
helper function.
Either the name of, or the path to, a Python virtual environment.
The conda environment to use. For use_condaenv()
, this can be the name,
the absolute prefix path, or the absolute path to the python binary. If
the name is ambiguous, the first environment is used and a warning is
issued. For use_miniconda()
, the only conda installation searched is
the one installed by install_miniconda()
.
The path to a conda
executable. By default, reticulate
will check the
PATH
, as well as other standard locations for Anaconda installations.
The RETICULATE_PYTHON
environment variable can also be used to control
which copy of Python reticulate
chooses to bind to. It should be set to
the path to a Python interpreter, and that interpreter can either be:
A standalone system interpreter,
Part of a virtual environment,
Part of a Conda environment.
When set, this will override any other requests to use a particular copy of
Python. Setting this in ~/.Renviron
(or optionally, a project .Renviron
)
can be a useful way of forcing reticulate
to use a particular version of
Python.
Note that the requests for a particular version of Python via use_python()
and friends only persist for the active session; they must be re-run in each
new R session as appropriate.
If use_python()
(or one of the other use_*()
functions) are called
multiple times, the most recently-requested version of Python will be
used. Note that any request to use_python()
will always be overridden
by the RETICULATE_PYTHON
environment variable, if set.
The py_config()
function will also provide a short note describing why
reticulate
chose to select the version of Python that was ultimately
activated.
The reticulate
package initializes its Python bindings lazily -- that is,
it does not initialize its Python bindings until an API that explicitly
requires Python to be loaded is called. This allows users and package authors
to request particular versions of Python by calling use_python()
or one of
the other helper functions documented in this help file.