bitbucket の証明書あたりで怒られたので, その対処

http://blog.elliptium.net/2012/01/Mac-PyGame で pygame のインストール方法を書いたけど, 今日やってみたら fingerprint がなんたらかんたらと怒られた.

$ pip install hg+http://bitbucket.org/pygame/pygame
Downloading/unpacking hg+http://bitbucket.org/pygame/pygame
  Cloning hg http://bitbucket.org/pygame/pygame to /var/folders/9n/czcxj1b562v8njptzxxp01q40000gq/T/pip-h8eK40-build
中止: bitbucket.org の証明書(fingerprint は 24:9c:45:8b:9c:aa:ba:55:4e:01:6d:58:ff:e4:28:7d:2a:14:ae:3b)が不正
  Complete output from command /usr/local/bin/hg clone --noupdate -q http://bitbucket.org/pygame/pygame /var/folders/9n/czcxj1b562v8njptzxxp01q40000gq/T/pip-h8eK40-build:

----------------------------------------
Command /usr/local/bin/hg clone --noupdate -q http://bitbucket.org/pygame/pygame /var/folders/9n/czcxj1b562v8njptzxxp01q40000gq/T/pip-h8eK40-build failed with error code 255

https://groups.google.com/forum/#!msg/bitbucket-users/R2GqjuchNc0/GrGFnTsrkyUJ のコメントに従って, http://mercurial.selenic.com/wiki/CACertificates#Mac_OS_X_10.6_and_higher の通りにダミーの証明書を作成する.

$ openssl req -new -x509 -extensions v3_ca -keyout /dev/null -out dummycert.pem -days 3650
(色々聞かれるけど Enter 空打ち. pass phrase だけは4文字以上入れないといけないので適当に入力)
$ sudo cp dummycert.pem /etc/hg-dummy-cert.pem

後は ~/.hgrc あたりに

[web]
cacerts = /etc/hg-dummy-cert.pem

を追記.

だめだったーー!!!

良く考えれば fingerprint で怒られてるんだから, fingerprint 直せば良いんじゃなかろうか?

ってことで作業を取り消して, ~/.hgrc にある fingerprint を修正. (一応, Safari からも証明書を確認して fingerprint が合ってることは確かめた. これでいいんだよね??)

これで

$ pip install hg+http://bitbucket.org/pygame/pygame

が成功した.

Mac で PyGame のインストール

PyPy の translationshell.py で遊んでいると, Flow Graph の表示に PyGame が必要になってくるので, それをインストールした記録.

homebrew と pip は入っているものとする.

$ brew install sdl sdl_image sdl_mixer sdl_ttf smpeg portmidi
$ pip install hg+http://bitbucket.org/pygame/pygame

"Warning: m4 macros were installed to "share/aclocal"." という警告が出たけど無視しても大丈夫でした.

smpeg のインストールで失敗したけど "Error: This is a head-only formula; install with brew install --HEAD smpeg" と出たので, 指示どおりに

$ brew install --HEAD smpeg

とやったら無事インストールできました.

きちんと手順をまとめておくと, こんなふうになります.

$ brew install sdl sdl_image sdl_mixer sdl_ttf portmidi
$ brew install --HEAD smpeg
$ pip install hg+http://bitbucket.org/pygame/pygame

参考資料: https://bitbucket.org/pygame/pygame/issue/82/homebrew-on-leopard-fails-to-install#comment-627494

Licenses