Ubuntu で M2Crypto 使おうとしてハマった

Ubuntu で M2Crypto を使おうとしてハマった。

ImportError: /home/hirokiky/.virtualenvs/hogeenv/local/lib/python2.7/site-packages/M2Crypto/__m2crypto.so: undefined symbol: SSLv2_method

エラー文は上記のようなものがでた。

環境

解決

M2Crypto を apt-get でインストールしましょう。

% sudo apt-get install python-m2crypto

これで解決。
pip で M2Crypto を入れるとエラーがでるよう。

Thomas Hatch: Yes, if you install m2crypto via pip it does not work, you need to install it via apt because Debian modified openssl and m2crypto needs to be patched to work with it, sorry I was not more clear :)

https://groups.google.com/forum/#!msg/salt-users/t_Nc-9hmT54/kX8Kbon-PwsJ

おまけ

Virtualenv 1.7 以降は、デフォルトで --no-sitepackages が有効。