Jupyter notebookでRを使うのは罠がある～notebookでRもPythonも両方使う方法

本記事、2021年に書いたものであるが、2022年9月時点、Ubuntuにて試したところ、Rと共存させた環境にてmatplotlibが競合を起こしてインストールできない、という事態になりました。

従いまして、成功事例と失敗事例両方記載することになりました。

結論としましては、

**2022年9月時点でpythonは3.10シリーズを使うな！**

になります。

その後、R Studioの最新版が出されても、Anaconda Navigatorで管理されていないバージョンであればアップデートできないこともわかりました。

これでは、セキュリティなどの面においても不安が残りますので、更なる結論としては、**Anaconda NavigatorでR Studioを使わない方がよい**になりました。

R Studioは、Anacondaからではなく、別途インストーラーをダウンロードしてインストールすることをお勧めします。

# 1．成功事例2021年：検証環境
・OS：Windows10 10.0.19041
・Anaconda3：2021.05(Python 3.8.8 64-bit)

## 1-1．失敗例
Jupyter Notebookを起動するとRStudioのインストールパネルがある。
私も最初はこれでインストールを行った。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/0008cacb-1146-6e51-6987-3265fea59b4e.png)

しかし、これでインストールすると何が起きるかというと、NotebookでRを選択しようとするときに、Rの選択肢が出てこない。
もちろん、RStudioというものはインストールされるが、NotebookではRを使うことができない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/7800a8d1-bb7a-33ab-4977-649cbb39d6ea.png)

## 1-2．NotebookでRを使えるようにする手順
### １．新env作成開始
左のEnvironments→Createをクリックして、新環境を作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/93d988f6-1016-c469-a43d-e222a9e7053d.png)

### ２．PythonもRも選ぶ
Create New Environmentダイアログが表示されるので、
・Name:適当な名称を入れる
・Packages
　→Pythonにチェックを入れ、使いたいPythonのバージョンを選ぶ
　→Rにチェックを入れる
・Createボタンをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/9545fc9c-effb-1ffb-4f40-8e349b388719.png)

### ３．待機と承認
Createボタン押下後、ご存知の方はわかると思うが、かなり待ちます。
また、途中で、Pythonがアクセスしていいか、という許可を求めるUACの画面が出て来るので、OKを押す

※この表示があまりにも長く何も変わらない上、HDDアクセスランプも反応していないようであれば、一度Anacondaを落として再起動する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/c7fa2753-1252-9170-ddef-f79aaa66a145.png)

### ４．Notebook起動
インストールが終わったら、環境を手順２で設定した名称に切り替えて、Notebookを起動する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/c1083a0c-b2f1-f2f8-12ee-b8dc08e4e90c.png)


### ５．R動作確認
NewよりRを選んでNotebookを起動し、Rが動作するか確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/484531cb-65ec-d974-b008-a4f255a7e01f.png)

※右上のロゴが「R」になり、noteのコードにもRのコマンドを入れて動作するか確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/f87e5f2e-093c-4f29-42fd-d8203034f7f8.png)

### ６．Python動作確認
同様にいつのもPythonのNoteも起動して、Pythonが動作することも確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/e2684036-e10e-2975-1d0f-577991b6cb5b.png)

### ７．動作確認用note終了
R・Python両方を上書き保存して、閉じ、フォルダ画面にて、両方のNoteを選んでShutdown
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/30d1e533-4cc8-18ca-1eef-9ff8e6cfa81e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/cf1e8cb6-d666-b058-3816-6b440087fe9b.png)

画面右上のQuitを押した後ブラウザを閉じる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/4eb2f578-b550-6bac-3a9f-a93e6599e6df.png)

### ※尚、RStudioについては、更に別環境を別途新規作成せねばならない


# 2．失敗事例2022年：検証環境
・OS：Ubuntu 22.04
・Anaconda：2.2.0(Python 3.9.12)

## 2-1．起きた事象その１
PythonとR両方使える環境を構築し、matplotlibをインストールしようとしたら長時間conflictチェックが入りインストール不可となった。

## 2-2．起きた事象その２
2022年9月時点でmatplotlibがPython3.10.4に対応していなさそうなことが判明し、バージョンを3.9.13に落としたが、やはりmatplotlibとRの相性が悪いらしく、matplotlibのインストールができなかった。
※実はRを削除した環境であれば、Python3.10.4でも無事にmatplotlibがインストールできました。

## 2-3．実施したこと
### 1．既存の環境を削除し、再度新環境を作り直し
![PythonR1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/9818a1d1-c1c1-c955-513e-41196093378e.png)

### 2．numpy、pandas、matplotlibなどを次々にインストール
ここまではうまくいきました

### 3．rのパッケージをインストール
ここで再度conflictチェックが長く走りインストールできず

## 2-4．妥協策1トライ目
Python環境とRは共存不可、という結論になり、環境を分けることにした。試しにmatplotlibはpython3.10.4でも無事にインストールできました。
しかし、scikit-imageとOpenCVはインストールできませんでしたので、再度環境を削除し、Pythonのバージョンを3.9.13にして再作成を強いられました。
![PythonR2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/0cd675e8-17b7-6c58-338e-2c2568bea7ba.png)

## 2-5．妥協策2トライ目
Pythonのバージョンを3.9.13にして環境を再作成しました。
最初にscikit-imageをインストールしたら無事成功。
OpenCVも自動でインストールされ、matplotlibを含めた、残りのメジャーどころのパッケージは全て入りました。
![PythonR3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588352/aebcac23-837a-a79f-ac02-b7a06b84c59d.png)


以上