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'.
Miniconda, Python, and Matlab (experimental) EnvironmentThe 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.
You can install the released version of rpymat from CRAN with:
install.packages("rpymat")
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)
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)
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)
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.
The following command will erase the environment completely.
rpymat::remove_conda()