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

ウラガミ・ライフ

空欄に書く気持ち良さとか。

クリーンインストールしてないMavericks環境でのpyenv install

pythonの勉強もかねて、PyQtを使った自分にしか役に立たないクライアントアプリを作ろうと思っています。

そのため、まずはpython3.3.2の仮想環境を作ろう……としたのですがpython3.3.2が入れられない!

ちぃといつさんの多大なる協力を経て、なんとか成功しましたので、備忘録がてら書き留めたいと思います。

ログとか入れて長くなったので、ココから先は折り返し〜。

まず、pyenvでインストールしたところ…

$ pyenv install 3.3.2

Downloading Python-3.3.2.tgz...

-> http://yyuu.github.io/pythons/0a2ea57f6184baf45b150aee53c0c8da

Installing Python-3.3.2...

^[[A

BUILD FAILED

 

Inspect or clean up the working tree at /var/folders/lb/w_nq4jlm8xq5fk006s6lpjsr0000gn/T/python-build.20140118222604.54566

Results logged to /var/folders/lb/w_nq4jlm8xq5fk006s6lpjsr0000gn/T/python-build.20140118222604.54566.log

 

Last 10 log lines:

  File "<string>", line 1, in <module>

  File "/Users/apple/.pyenv/versions/3.3.2/lib/python3.3/ssl.py", line 60, in <module>

    import _ssl             # if we can't import it, let the error propagate

ImportError: No module named '_ssl'

 

The Python ssl extension was not compiled. Missing the OpenSSL lib?

こんなのが出ました……いろいろ調べたり、調べていただいたり(こっちのほうが多かったです…ホントスミマセン……)したところ…… 

 

原因:

Xcodeが古かった、pyenvが古かった

それぞれアップデート

・MountainLionとMavericksでファイル構成が違うため、「/usr/include」というディレクトリが無かった。

こちらはクリーンインストールしていなかったのが原因です。

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

参考:https://github.com/yyuu/pyenv/issues/25

こちらの実行で3.3.2のインストールができました!

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

GCCのインクルードファイルのパスを(Xcodeのパス)/usr/includeにしろ」

 ということらしいです。

まぁ、いちいち今後それをやるのも面倒ということで、 /usr/include に(Xcodeのパス)/usr/include へのエイリアスを作っておくという提案を受け入れ、やっておきました。

 

さて、やっと仮想環境つくるぜーと意気込んでコマンドを打つと……

$ mkvirtualenv -p ~/.pyenv/versions/3.3.2/bin/python なんたら

Traceback (most recent call last):

  File "/usr/local/bin/virtualenv", line 5, in <module>

    from pkg_resources import load_entry_point

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>

    working_set.require(__requires__)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require

    needed = self.resolve(parse_requirements(requirements))

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve

    raise DistributionNotFound(req)  # XXX put more info here

pkg_resources.DistributionNotFound: virtualenv==1.10.1

あれ?とおもってpipって打ってみたら……

$ pip

Traceback (most recent call last):

  File "/usr/local/bin/pip", line 5, in <module>

    from pkg_resources import load_entry_point

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>

    working_set.require(__requires__)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require

    needed = self.resolve(parse_requirements(requirements))

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve

    raise DistributionNotFound(req)  # XXX put more info here

pkg_resources.DistributionNotFound: pip==1.2.1

同じようなエラーが……とりあえずNotFoundとか言ってるので、「sudo easy_install pip」を実行し、再度pipのインストールをした後、virtualenvも同様に入れてみようとすると……

$ sudo pip install virtualenv

Wheel installs require setuptools >= 0.8 for dist-info support.

pip's wheel support requires setuptools >= 0.8 for dist-info support.

Storing debug log for failure in /Users/apple/Library/Logs/pip.log

出来ませんでした……。

これに困って調べた所、コチラを発見!

pip installを実行すると「Wheel installs require setuptools &gt;= 0.8 for dist-info support.」エラー - 日々精進

記載内容をそのまま実行した後で、「sudo pip install virtualenv」すると、通ったー。

その後「sudo pip install virtualenvwrapper」もちゃんと正常終了しました。

 

そこまでしてから……やっと仮想環境作成です。

$ mkvirtualenv -p ~/.pyenv/versions/3.3.2/bin/python なんたら

Running virtualenv with interpreter /Users/apple/.pyenv/versions/3.3.2/bin/python

Using base prefix '/Users/apple/.pyenv/versions/3.3.2'

New python executable in なんたら/bin/python

Installing setuptools, pip...done.

 いけた……良かった。

 

で、今度は作った仮想環境にPyQtを入れるんですが……これもいろいろありそうですね……ちょっと直ってきたとおもったんですが、また頭痛がいたい…。