How to Install R Kernel for Jupyter on Mac OS X

May 18, 2017
By

(This article was first published on Data Science Riot!, and kindly contributed to R-bloggers)

IPython is a great tool for developers, particularly for R programmers who are accustomed to the luxury of running blocks of code during development. The ability to add an R kernel to the IPython environment gives one the ability to run Python and R side-by-side in the same programming environment.

Update: This install method is less involved

Get zmq dependencies. Note: Make sure you’ve got Xcode installed.

If you use Homebrew:

xcode-select --install 
brew install zmq

Or, if you use MacPorts

sudo port install zmq
export CPATH=/opt/local/include 
export LIBRARY_PATH=/opt/local/lib

Next, fire up R, install from source and start your kernel.

install.packages(c('rzmq','repr','IRkernel','IRdisplay'),
                 repos = c('http://irkernel.github.io/', getOption('repos')), type = 'source')
IRkernel::installspec(user = FALSE)

That should work. If not, the instructions below show you how to clone the IRkernel GitHub repo and install from source on your local machine.

My original method: If the above method doesn’t work, you may have more luck here.

If you use Homebrew:

brew install libzmq3
brew install czmq zmq

Assuming that those libraries brewed without any errors, start R in your terminal by typing “R” or fire up R-Studio. Install these three packages. Note, it may be a good idea to install them one at a time. Note, since the rzmq package includes dependencies, we’ll be cloning the GitHub repo and installing it locally.

git clone https://github.com/armstrtw/rzmq.git --recursive

Make sure to place the file in your R working directory. Then in R:

library(RCurl)
library(devtools)

install_local('./rzmq')  

install_github('IRkernel/repr')

install_github("IRkernel/IRdisplay")

install_github("IRkernel/IRkernel")

At this point the R kernel should work (in theory) by executing the installspec() function from your new IRkernel package but…

In my case, installspec() wouldn’t fire up, so I did a little detective work. Run the following command in R to find the path IRkernel is hitting.

print(system.file("kernelspec", package = "IRkernel"))

Chances are the package is sending the R kernel to somewhere like “/Library/Frameworks/R.framework/Versions/3.1/Resources/library/IRkernel/kernelspec”.

If that is the case, then you’ve quickly found the problem that took me hours of detective work to track down.

In that case, there is a simple work-around. In your terminal type:

ipython kernelspec install --replace --name ir --user /Library/Frameworks/R.framework/Versions/3.1/Resources/library/IRkernel/kernelspec

After you run that in terminal, go back into R and run:

library(IRdisplay)
library(IRkernel) 

installspec()

At this point you should be set to go. Fire up your terminal one more time, throw the IPython command and keep your fingers crossed!

ipython notebook

My environment = OS X 10.10, R 3.1, Python 3, your results may vary!

To leave a comment for the author, please follow the link and comment on their blog: Data Science Riot!.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Sponsors

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)