{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# パッケージを読み込めないエラーについて" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "「`library(***)`」を実行した時、Rのコンソールでは以下のように正常に読み込まれるのに対して、\n", "\n", "![Error_occurred_in_library_function_000.jpg](Error_occurred_in_library_function_00.jpg)\n", "\n", "The jupyter notebook(以下Notebook)ではエラーになる場合があります。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "ename": "ERROR", "evalue": "Error in library(RcppArmadillo): there is no package called 'RcppArmadillo'\n", "output_type": "error", "traceback": [ "Error in library(RcppArmadillo): there is no package called 'RcppArmadillo'\nTraceback:\n", "1. library(RcppArmadillo)", "2. stop(txt, domain = NA)" ] } ], "source": [ "library(RcppArmadillo)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "私の環境においては、パッケージのインストールされているフォルダが見えていないために発生しているようです。\n", "\n", "通常インストール先は、\n", "\n", "1. `C:\\Program Files\\R\\R-*.*.*\\library`(`Windows10, 64bit`の場合)\n", "1. `C:\\Users\\ユーザー名\\Documents\\R\\win-library\\*.*`\n", "\n", "のどちらかだと思います。\n", "\n", "2は、`Sys.getenv(\"R_LIBS_USER\")`で確認することができます。私の環境のRのコンソールにおいては、\n", "\n", "![Error_occurred_in_library_function_01.jpg](Error_occurred_in_library_function_01.jpg)\n", "\n", "これに対して、Notebookでは、以下のようになりました。" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "'C:\\\\WinPython3\\\\settings/R/win-library/3.4'" ], "text/latex": [ "'C:\\textbackslash{}\\textbackslash{}WinPython3\\textbackslash{}\\textbackslash{}settings/R/win-library/3.4'" ], "text/markdown": [ "'C:\\\\WinPython3\\\\settings/R/win-library/3.4'" ], "text/plain": [ "[1] \"C:\\\\WinPython3\\\\settings/R/win-library/3.4\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Sys.getenv(\"R_LIBS_USER\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ちなみに、NotebookでのRのホームは以下の通りです。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "'C:\\\\WinPython3\\\\settings'" ], "text/latex": [ "'C:\\textbackslash{}\\textbackslash{}WinPython3\\textbackslash{}\\textbackslash{}settings'" ], "text/markdown": [ "'C:\\\\WinPython3\\\\settings'" ], "text/plain": [ "[1] \"C:\\\\WinPython3\\\\settings\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Sys.getenv(\"R_USER\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ドキュメント フォルダの`win-library`にあるモジュールは、Notebookで認識できないようです。\n", "\n", "Notebookの環境変数をRと同様にすれば良いかと思いましたが、`Sys.setenv()`で、`\"R_USER\"`や`\"R_LIBS_USER\"`を変更してもうまくいきませんでした。\n", "\n", "私は、以下のように対処しました。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## パッケージのインストール先を変更する" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "パッケージのインストール先を、1の「`C:\\Program Files\\R\\R-*.*.*\\library`」に変更します。\n", "\n", "1. 「`.Renviron`」というファイルが、Rのコンソール上で実行した`Sys.getenv(\"R_USER\")`で表示されるフォルダに存在するか確認してください。(多分、ドキュメントフォルダになっていると思います)\n", "1. 無い場合は、以下を参考に新規に作成してください。\n", "2. 有る場合は、以下を追記してください。\n", "\n", "「`.Renviron`」(`*.*.*`にはバージョン名を入れてください。本例においては、`3.4.1`)\n", "\n", "----\n", "\n", "```\n", "R_LIBS_USER = \"C:\\Program Files\\R\\R-*.*.*\\library\"\n", "```\n", "\n", "----\n", "\n", "うまくいけば、以下のようになります。\n", "\n", "![Error_occurred_in_library_function_02.jpg](Error_occurred_in_library_function_02.jpg)\n", "\n", "これより以降のパッケージのインストール先は、`Program Files`の`R`のフォルダになるはずです。これで、Notebookからも見えるようになっているはずです。\n", "\n", "***この方法で注意しなくてはいけないことが2点あります***\n", "\n", "* ***インストールする際は、Rを管理者権限で起動すること***\n", "* ***異なるバージョンのRに対しては、「`.Renviron`」を変更すること***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ちなみに " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "すでに2にインストールされたパッケージについては、以下のいずれかの方法で何とかなりそうです。\n", "\n", "* パッケージのインストールをやり直す\n", "* 「`C:\\Users\\ユーザー名\\Documents\\R\\win-library\\*.*`」から「`C:\\Program Files\\R\\R-*.*.*\\library`」へパッケージのフォルダをコピーする" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "[ホームへ](https://waku-take-a.github.io/index.html) \n", "[↑Rの記事Topへ](https://waku-take-a.github.io/R.html) \n", "\n", "※ \n", "上記のipynbファイル等は、[こちらに](https://github.com/WAKU-TAKE-A/RTips)あります。 \n", "解凍後、`The jupyter notebook`にアップロードすれば、ローカルな環境で実行することも、編集することもできます。\n", "\n", "<(_ _)>" ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.4.4" } }, "nbformat": 4, "nbformat_minor": 2 }