読者です 読者をやめる 読者になる 読者になる

【Python】CentOS6.5にPython3.5.2をインストールするとき「locale.Error: unsupported locale setting」が出るときの対処法

はじめに

ちょっとPythonでやりたいことがあり
Pythonを触ったことない人がPythonをインストールを実施したところ
数十分ハマったので、メモ書き程度の話です。

環境

  • OS X El capitan
  • Vagrant 1.8.1
    • CentOS6.5
  • Python3.5.2をmake installでインストールする

前提条件

  • VagrantからCentOSに接続できること
  • pyenvを使わずにインストールする

やってみた

以下に書かれていた内容をそのまま実施してみました。

chyka.hatenablog.jp

その結果、エラーが発生

locale.Error: unsupported locale setting

エラーの通りなのですが、localeがサポートされていないということらしいです。
なので、localeを確認します。

[vagrant@vagrant-centos65 ~]$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=ja_JP.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

言語がバラバラだからかな?と思い、言語を英語にしてみたりしました。

sudo vi /etc/sysconfig/i18n
. /etc/sysconfig/i18n

しかし、うまくいかず困ったときのstackoverflowです。
そして、同じように悩んでいる記事を見つけました。

stackoverflow.com

その結果、以下のコマンドを打てば良いということです。
適用した内容も載せておきます。

[vagrant@vagrant-centos65 ~]$ export LC_ALL=C
[vagrant@vagrant-centos65 ~]$ locale
LANG=en_US.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

重要なのは、「LC_ALL」のようですね。
そして、インストールを再実行してみたところうまくいきました。

まとめ

こういうところで行き詰まると、本来やりたかったことが
遠のき大変ですがもっと簡単にインストールできないものかな?と思いました。