dehio3’s diary

仕事、生活、趣味のメモ

EUC環境でpyenvでpythonインストールしたらエラーでた

環境

$ cat /etc/redhat-release
CentOS release 5.11 (Final)
$ pyenv -v
pyenv 1.1.2-2-g5ab088c

事象

-bash-3.2$ pyenv install 3.4.3
Downloading Python-3.4.3.tgz...
-> https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
Installing Python-3.4.3...

BUILD FAILED (CentOS 5.11 using python-build 1.1.2-2-g5ab088c)

Inspect or clean up the working tree at /tmp/python-build.20170713102222.4904
Results logged to /tmp/python-build.20170713102222.4904.log

Last 10 log lines:
        if test $? -ne 0 ; then \
                echo "generate-posix-vars failed" ; \
                rm -f ./pybuilddir.txt ; \
                exit 1 ; \
        fi
Fatal Python error: Py_Initialize: Unable to get the locale encoding
LookupError: unknown encoding: EUC-JP
/bin/sh: line 5: 13142 アボートしました        ./python -E -S -m sysconfig --generate-posix-vars
generate-posix-vars failed
make: *** [pybuilddir.txt] エラー 1
-bash-3.2$

調査

LookupError: unknown encoding: EUC-JP

WindowsでPythonがLookupError: unknown encoding: cp65001 - Qiita

上記が書いてるけど、そもそも PYTHONIOENCODING で何がかわる?

PYTHONIOENCODING

Python 3の各種エンコーディングについて - Qiita

標準入出力のエンコーディングに影響する環境変数らしい。

対処

awscliを使いたいだけだったので、とりあえずpythonのバージョンを下げたらいけた…

-bash-3.2$ pyenv install 2.7.13
Downloading Python-2.7.13.tgz...
-> https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
Installing Python-2.7.13...
Installed Python-2.7.13 to /home/fan/.pyenv/versions/2.7.13

-bash-3.2$

根本解決になってないけど、要件はみたせるからとりあえずこれで進める。