diff --git a/doc/rinterface.rst b/doc/rinterface.rst index f6f6453b3..f9b4ed379 100644 --- a/doc/rinterface.rst +++ b/doc/rinterface.rst @@ -348,6 +348,9 @@ can also be triggered indirectly, as some on the R functions will behave differently when run interactively compared to when run in the so-called *BATCH mode*. +Interactive mode could be disabled by setting environment variable +`R_INTERACTIVE_MODE` to `False`. + .. note:: However, interactive use may mean the ability to periodically check diff --git a/rpy2/rinterface_lib/embedded.py b/rpy2/rinterface_lib/embedded.py index ccd3a315c..2b48f1882 100644 --- a/rpy2/rinterface_lib/embedded.py +++ b/rpy2/rinterface_lib/embedded.py @@ -232,10 +232,12 @@ def _setcallback(rlib, rlib_symbol: str, # TODO: can init_once() be used here ? def _initr( - interactive: bool = True, + interactive: bool = None, _want_setcallbacks: bool = True, _c_stack_limit: int = _DEFAULT_C_STACK_LIMIT ) -> typing.Optional[int]: + if interactive is None: + interactive = os.environ.get('R_INTERACTIVE_MODE', 'True').lower() in ['true', '1', 't'] rlib = openrlib.rlib ffi_proxy = openrlib.ffi_proxy