dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

Mac OS X 10.9 Mavericksでpyenv installが失敗する時

Mac OS X 10.9固有なのかわかりませんが
pyenv installした時に次のようなメッセージが出て
BUILD FAILEDとなってしまう時の対策。

$ pyenv install 3.3.1
Installing Python-3.3.1...
patching file ./Modules/readline.c
Hunk #1 succeeded at 225 (offset -6 lines).
Hunk #2 succeeded at 759 (offset -14 lines).
Hunk #3 succeeded at 812 (offset -14 lines).
Hunk #4 succeeded at 870 (offset -14 lines).
Hunk #5 succeeded at 918 with fuzz 2 (offset -25 lines).
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/yyuu/pyenv/wiki/Common-build-problems


BUILD FAILED

Inspect or clean up the working tree at /var/folders/w2/mn18p8ls24s_g932rf4dljtw0000gn/T/python-build.20140816205543.30851
Results logged to /var/folders/w2/mn18p8ls24s_g932rf4dljtw0000gn/T/python-build.20140816205543.30851.log

Last 10 log lines:
rm -f /Users/[username]/.pyenv/versions/3.3.1/bin/idle3
(cd /Users/[usename]/.pyenv/versions/3.3.1/bin; ln -s idle3.3 idle3)
rm -f /Users/[username]/.pyenv/versions/3.3.1/bin/pydoc3
(cd /Users/[username]/.pyenv/versions/3.3.1/bin; ln -s pydoc3.3 pydoc3)
rm -f /Users/[username]/.pyenv/versions/3.3.1/bin/2to3
(cd /Users/[username]/.pyenv/versions/3.3.1/bin; ln -s 2to3-3.3 2to3)
rm -f /Users/[username]/.pyenv/versions/3.3.1/bin/pyvenv
(cd /Users/[username]/.pyenv/versions/3.3.1/bin; ln -s pyvenv-3.3 pyvenv)
rm -f /Users/[username]/.pyenv/versions/3.3.1/share/man/man1/python3.1
(cd /Users/[username]/.pyenv/versions/3.3.1/share/man/man1; ln -s python3.3.1 python3.1)

対策

何かいろんなこと調べて試してたんですが
最終的に、こちらに書いてある方法を実施したらうまくいくようになりました。

Mac OSX 10.9(Mavericks)で最新のPythonとRubyとPerlが手軽に使える環境を構築する(pyenv+virturlenv,rbenv+gemset,plenv+pmset)│blog@sotm.jp

具体的には、以下にコマンドを実施することで
XcodeのCommand Line Toolsをインストールする、というだけ。

$ xcode-select --install

その他に試したこと

参考記事: クリーンインストールしてないMavericks環境でのpyenv install - ウラガミ・ライフ

やったこと:以下のコマンド

CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"

たぶん必要ないかな...