pyenv install 3.7.xでエラー(Ubuntu)
ModuleNotFoundError: No module named '_ctypes'
Makefile:1130: ターゲット 'install' のレシピで失敗しました
make: *** [install] エラー 1
と怒られる
対処法
ドキュメントに
必要な環境が書いてあります.
まず言うとおりにインストールする.
さきにaptをアップデートしておく。
$ sudo apt update
必要なライブラリをインストール.
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
ここで、コンピュータを再起動して、pyenv installを再度試みる
$ pyenv install 3.7.3
行けました!!
ちなみにOpenSSLで下記のように怒られる場合は、
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
opensslをアップデートしてみましょう。
$ sudo apt update && sudo apt upgrade openssl
それでも
ModuleNotFoundError: No module named '_ctypes'
とエラーになる場合でかつ、Homebrewを使っている場合、
上記でapt-get install したライブラリ群に関連する何かを
Homebrewでインストールしてしまっているのが原因の一つになります。
関連ありそうなものをuninstallしましょう。
$ brew uninstall <ライブラリ名>
全部uninstallする場合は下記で一発でいけます。
$ brew list | cat | xargs brew uninstall -f
もう一度、pyenv installを試みましょう