【virtualenv】python3.5の仮想環境構築の際のunsupported locale setting エラー


#目的
python3.5のvirtualenv環境を作成する．

#詰まったところ

```
username@machinename:~$ which python3.5
/usr/bin/python3.5
username@machinename:~$ virtualenv -p /usr/bin/python3.5 py3.5
Running virtualenv with interpreter /usr/bin/python3.5
Using base prefix '/usr'
New python executable in /home/username/py3.5/bin/python3.5
Also creating executable in /home/username/py3.5/bin/python
Installing setuptools, pkg_resources, pip, wheel...
  Complete output from command /home/username/py3.5/bin/python3.5 - setuptools pkg_resources pip wheel:
  Traceback (most recent call last):
  File "<stdin>", line 24, in <module>
  File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/__init__.py", line 215, in main
  File "/home/username/py3.5/lib/python3.5/locale.py", line 594, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting
----------------------------------------
...Installing setuptools, pkg_resources, pip, wheel...done.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 2363, in <module>
    main()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 988, in create_environment
    download=download,
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 918, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 812, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/username/py3.5/bin/python3.5 - setuptools pkg_resources pip wheel failed with error code 1
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
ImportError: No module named 'apport'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 2363, in <module>
    main()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 988, in create_environment
    download=download,
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 918, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 812, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/username/py3.5/bin/python3.5 - setuptools pkg_resources pip wheel failed with error code 1
```

最初はOSErrorで，深刻な問題かと思ったが， 実はエラーの中盤にある

```
locale.Error: unsupported locale setting
```

のlocaleに関するエラーだと判明した．
※localeとは
−https://eng-entrance.com/linux-localization-locale

なんだか，サーバー(マシン)毎に設定されている，文字コードや地域等の初期設定に関するものらしい．
項目としてはいろいろあって，


```
username@machinename:~$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: LC_ALL??????????????????: ??????????????????????
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
```

使い始めのマシンの状態だと，設定されている項目，まだ設定されていない項目が混じっている模様．

#解決方法

今回は，この

```
LC_ALL=
```

がまだ指定されていなかったので，コマンド上で他の項目と同様に日本語のUTF-8として，指定することにする．

```
username@machinename:~$ export LC_ALL="ja_JP.UTF-8"
```

すると，

```
username@machinename:~$ virtualenv -p /usr/bin/python3.5 py3.5
Running virtualenv with interpreter /usr/bin/python3.5
Using base prefix '/usr'
New python executable in /home/username/py3.5/bin/python3.5
Not overwriting existing python script /home/username/py3.5/bin/python (you must use /home/username/py3.5/bin/python3.5)
Installing setuptools, pkg_resources, pip, wheel...done.

```

となって，virtualenv環境が作成できた模様．

```
username@machinename:~$ source py3.5/bin/activate
(py3.5) username@machinename:~$
```

ちゃんとvirtualenv環境内にも入れました．

(一応， .bashrcにも追加しておく．)
emacs .bashrc 

以下の行をファイルの一番下に追加する．

```
export LC_ALL="ja_JP.UTF-8"
```

これで，次回のログインからも，LC_ALL="ja_JP.UTF-8"が指定された状態になっているであろう．



−参考
http://nekoyukimmm.hatenablog.com/entry/2016/04/05/093316