Description
Easy to Configure an Isolated 'Python' Environment.
Description
Aims to create a single isolated 'Miniconda' and 'Python' environment for reproducible pipeline scripts. The package provides utilities to run system command within the 'conda' environment, making it easy to install, launch, manage, and stop 'Jupyter-lab'.
README.md
Isolated Miniconda
, Python
, and Matlab
(experimental) Environment
The goal of rpymat
is to create a single isolated Miniconda
and Python
environment for reproducible pipeline scripts. The package is a shell of reticulate
package, but provides more stable behaviors, especially on 'ARM' machines.
Installation
You can install the released version of rpymat from CRAN with:
install.packages("rpymat")
Configure environment
Configure python after installation
# change `python_ver` accordingly
rpymat::configure_conda(python_ver = 'auto')
Add Python
or conda
packages
# Add conda packages
rpymat::add_packages(c('pandas', 'numpy'))
# Add conda packages from channels
rpymat::add_packages(c('h5py'), channel = "conda-forge")
# Add pip packages
rpymat::add_packages(c('sklearn'), pip = TRUE)
Use Jupyterlab
# Install Jupyterlab, will install
# numpy, h5py, matplotlib, pandas,
# jupyter, jupyterlab, jupyterlab-git, ipywidgets, jupyter-server-proxy
# jupyterlab_latex, jupyterlab_github, matlab_kernel
rpymat::add_jupyter()
# Launch Jupyterlab
rpymat::jupyter_launch(async = FALSE)
Advanced configurations:
rpymat::jupyter_launch(
async = TRUE, workdir = "~",
port = 18888, open_browser = TRUE,
token = "IwontTellYouMyToken"
)
To query existing servers
rpymat::jupyter_server_list()
#> host port token
#> 1 127.0.0.1 8888 3hzWfGPa0EOmonaNS48jrTvpw07KiX7VKerA9ZTFJMkCOJMgfB
#> 2 127.0.0.1 18888 IwontTellYouMyToken
To stop a server
rpymat::jupyter_server_stop(port = 18888)
Use rpymat
with reticulate
# Initialize the isolated environment
rpymat::ensure_rpymat()
rpymat::repl_python()
Then run python code interactively.
Alternatively, you can use rpymat::run_script(path)
to execute Python
scripts, and use reticulate::py
to obtain the results.
Uninstall
The following command will erase the environment completely.
rpymat::remove_conda()