Code Monkey home page Code Monkey logo

irkernel's Introduction

Native R kernel for Jupyter b-CI b-CRAN

For detailed requirements and install instructions see irkernel.github.io

Requirements

Installation

This package is available on CRAN:

install.packages('IRkernel')
IRkernel::installspec()  # to register the kernel in the current R installation
jupyter labextension install @techrah/text-shortcuts  # for RStudio’s shortcuts

Per default IRkernel::installspec() will install a kernel with the name “ir” and a display name of “R”. Multiple calls will overwrite the kernel with a kernel spec pointing to the last R interpreter you called that commands from. You can install kernels for multiple versions of R by supplying a name and displayname argument to the installspec() call (You still need to install these packages in all interpreters you want to run as a jupyter kernel!):

# in R 3.3
IRkernel::installspec(name = 'ir33', displayname = 'R 3.3')
# in R 3.2
IRkernel::installspec(name = 'ir32', displayname = 'R 3.2')

By default, it installs the kernel per-user. To install system-wide, use user = FALSE. To install in the sys.prefix of the currently detected jupyter command line utility, use sys_prefix = TRUE.

Now both R versions are available as an R kernel in the notebook.

If you encounter problems during installation

  1. Have a look at the full installation instructions!
  2. Search the existing open and closed issues.
  3. If you are sure that this is a new problem, file an issue.

Running the notebook

If you have Jupyter installed, you can create a notebook using IRkernel from the dropdown menu.

You can also start other interfaces with an R kernel:

# “ir” is the kernel name installed by the above `IRkernel::installspec()`
# change if you used a different name!
jupyter qtconsole --kernel=ir
jupyter console --kernel=ir

Run a stable release in a Docker container

Refer to the jupyter/docker-stacks r-notebook repository

If you have a Docker daemon running, e.g. reachable on localhost, start a container with:

docker run -d -p 8888:8888 jupyter/r-notebook

Open localhost:8888 in your browser. All notebooks from your session will be saved in the current directory.

On other platforms without docker, this can be started using docker-machine by replacing “localhost” with an IP from docker-machine ip <MACHINE>. With the deprecated boot2docker, this IP will be boot2docker ip.

Develop and run from source in a Docker container

make docker_dev_image #builds dev image and installs IRkernel dependencies from github
make docker_dev #mounts source, installs, and runs Jupyter notebook; docker_dev_image is a prerequisite
make docker_test #builds the package from source then runs the tests via R CMD check; docker_dev_image is a prerequisite

How does it know where to install?

The IRKernel does not have any Python dependencies whatsoever, and does not know anything about any other Jupyter/Python installations you may have. It only requires the jupyter command to be available on $PATH. To install the kernel, it prepares a kernelspec directory (containing kernel.json and so on), and passes it to the command line jupyter kernelspec install [options] prepared_kernel_dir/, where options such as --name, --user, --prefix, and --sys-prefix are given based on the options.

irkernel's People

Contributors

flying-sheep avatar takluyver avatar jankatins avatar karthik avatar poplav avatar rgbkrk avatar randy3k avatar jeroen avatar ihrke avatar minrk avatar michaelchirico avatar willwhitney avatar mikecroucher avatar xuestrange avatar matthieugomez avatar djsutherland avatar ngr-t avatar parente avatar rkdarst avatar steff456 avatar szhorvat avatar timothymillar avatar snoweye avatar ckbhatt avatar jrshust avatar whatalnk avatar phil8192 avatar krassowski avatar michaelquinn32 avatar mariusbutuc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.