名前に非ASCII文字を含むユーザーがRを使う方法


注意:名前に非ASCII文字を含まないにもかかわらずうまく行かない場合にも遭遇したことがあります。その時は、セキュリティソフトを一時的にオフにすることで解決できました。

Windowsでは、ユーザー名に非ASCII文字を含めることができますが、ユーザー名が非ASCII文字を含んでいるといろいろ問題が起こります。たとえばRでは、パッケージのインストールに失敗します。

Windows環境で「R」を導入するための絶対確実な方法という記事によると、(1)マルチバイト文字を含まない名前のユーザーを新たに作り、(2)マルチバイト文字を含まない名前のディレクトリにRやRStudioをインストールすればいいそうです。

しかし、ユーザーを作り直すのはかなり大変な作業ですし、そもそも、共有PCなど、管理者権限を使えない状況では不可能です(絶対?)。

そこで、管理者権限が無くても使える、ユーザーを作り直さなくていい方法を紹介しましょう。

RStudioを使わない場合

  1. インストーラのいいなりにRをインストールする。
  2. c:/rlibsのような、ASCII文字だけで構成される名前のディレクトリを作り、環境変数R_LIBS_USERの値がこのディレクトリ名になるようにする。
  3. WIndowsを再起動する。

RStudioを使う場合

  1. Rをアンインストールし、c:/Users/ユーザ名/Documents/Rを削除する。
  2. c:/Rのような、ASCII文字だけで構成される名前のディレクトリを作り、そこにRをインストールする。
  3. c:/RStudioのような、ASCII文字だけで構成される名前のディレクトリにRStudioのzipファイルを展開する(管理者権限がないため、インストーラは使えない)。
  4. c:/tmpのような、ASCII文字だけで構成される名前のディレクトリを作り、環境変数TMPの値がこのディレクトリ名になるようにする。
  5. WIndowsを再起動する。

管理者がアプリをインストールし、標準ユーザーがアプリを利用するという、MacやLinuxでは一般的な運用方法を採用している場合は、次のような方法でも大丈夫です。(環境変数TMPの値を変更しています。ここで指定したディレクトリを削除すると、Excelなど,他のアプリに悪影響があります。)

  1. 管理者としてインストーラを起動し、インストーラのいいなりにRとRStudioをインストールする。
  2. c:/rlibsc:/tmpc:/homec:/ruserのような、ASCII文字だけで構成される名前のディレクトリを作り、環境変数R_LIBS_USERTMPhomeR_USERの値がこれらのディレクトリ名になるようにする。環境変数は、コントロールパネルの検索窓に「PATH」と入れて出てくる「環境変数の編集」をクリックして編集する。ここで挙げた例ならば、次のように設定する。
    変数
    R_LIBS_USER c:/rlibs
    TMP c:/tmp
    home c:/home
    R_USER c:/ruser
  3. WIndowsを再起動する。(不要かも)

Windows 10上のR 3.3.2、RStudio 1.0.136で動作を確認しています。

MacやLinuxに比べると、Windowsはいろいろよくわからない部分があるのは確かですが、ここで扱っている問題は、Windowsの問題というよりは、RやRStudioの問題という気がします(テストが不十分)。WindowsもMacのように、サポート期間を短くして、古いユーザーをどんどん切り捨てていくなら、こういうことは少なくなるのでしょうが。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です