名前に非ASCII文字を含むユーザーがRを使う方法
Windowsでは、ユーザー名に非ASCII文字を含めることができますが、ユーザー名が非ASCII文字を含んでいるといろいろ問題が起こります。たとえばRでは、パッケージのインストールに失敗します。
注意:名前に非ASCII文字を含まないにもかかわらずうまく行かない場合にも遭遇したことがあります。その時は、セキュリティソフトを一時的にオフにすることで解決できました。
Windows環境で「R」を導入するための絶対確実な方法という記事によると、(1)マルチバイト文字を含まない名前のユーザーを新たに作り、(2)マルチバイト文字を含まない名前のディレクトリにRやRStudioをインストールすればいいそうです。
しかし、ユーザーを作り直すのはかなり大変な作業ですし、そもそも、共有PCなど、管理者権限を使えない状況では不可能です(絶対?)。
そこで、管理者権限が無くても使える、ユーザーを作り直さなくていい方法を紹介しましょう。
RStudioを使わない場合
- インストーラのいいなりにRをインストールする。
c:/rlibs
のような、ASCII文字だけで構成される名前のディレクトリを作り、環境変数R_LIBS_USER
の値がこのディレクトリ名になるようにする。- WIndowsを再起動する。
RStudioを使う場合
- Rをアンインストールし、
c:/Users/ユーザ名/Documents/R
を削除する。 c:/R
のような、ASCII文字だけで構成される名前のディレクトリを作り、そこにRをインストールする。c:/RStudio
のような、ASCII文字だけで構成される名前のディレクトリにRStudioのzipファイルを展開する(管理者権限がないため、インストーラは使えない)。c:/tmp
のような、ASCII文字だけで構成される名前のディレクトリを作り、環境変数TMP
の値がこのディレクトリ名になるようにする。- WIndowsを再起動する。
管理者がアプリをインストールし、標準ユーザーがアプリを利用するという、MacやLinuxでは一般的な運用方法を採用している場合は、次のような方法でも大丈夫です。(環境変数TMPの値を変更しています。ここで指定したディレクトリを削除すると、Excelなど,他のアプリに悪影響があります。)
- 管理者としてインストーラを起動し、インストーラのいいなりにRとRStudioをインストールする。
c:/tmp
、c:/ruser
のような、ASCII文字だけで構成される名前のディレクトリを作り、環境変数TMP
、R_USER
の値がこれらのディレクトリ名になるようにする。環境変数は、コントロールパネルの検索窓に「PATH」と入れて出てくる「環境変数の編集」をクリックして編集する。ここで挙げた例ならば、次のように設定する。
変数 | 値 |
---|---|
TMP | c:/tmp |
R_USER | c:/ruser |
- WIndowsを再起動する。(不要かも)
Windows 10上のR 3.3.2、RStudio 1.0.136で動作を確認しています。
MacやLinuxに比べると、Windowsはいろいろよくわからない部分があるのは確かですが、ここで扱っている問題は、Windowsの問題というよりは、RやRStudioの問題という気がします(テストが不十分)。WindowsもMacのように、サポート期間を短くして、古いユーザーをどんどん切り捨てていくなら、こういうことは少なくなるのでしょうが。