Python 3.5にpsycopg2をインストール(Mac編)
prunus1350.hatenablog.com
先日、Windowsにpsycopg2をインストールしましたが、今回はMac(El Capitan)にインストールします。*1
Psycopgの公式ドキュメントIntroduction — Psycopg 2.6.2.dev0 documentationに
によると pip が使えるとのことなので、
$ pip install psycopg2
とやってみると
Error: pg_config executable not found.
pg_config がないと言われました。
PostgreSQLをインストールすれば良いようです。
手元のマシンにはパッケージマネージャが入っていない状態なので、
まずはこちらHomebrew — OS X 用パッケージマネージャーを参考に
Homebrewをインストールします。
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
次にPostgreSQLをインストールします。
$ brew install postgresql
再度 pip install を試みます。
$ pip install psycopg2 Collecting psycopg2 Using cached psycopg2-2.6.1.tar.gz Building wheels for collected packages: psycopg2 Running setup.py bdist_wheel for psycopg2 Stored in directory: /Users/prunus1350/Library/Caches/pip/wheels/e2/9a/5e/7b620848bbc7cfb9084aafea077be11618c2b5067bd532f329 Successfully built psycopg2 Installing collected packages: psycopg2 Successfully installed psycopg2-2.6.1
インストールは成功しました。
しかし、Pythonコンソールにてインポーとしようとすると、
>>> import psycopg2 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/prunus1350/anaconda/lib/python3.5/site-packages/psycopg2/__init__.py", line 50, in <module> from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID ImportError: dlopen(/Users/prunus1350/anaconda/lib/python3.5/site-packages/psycopg2/_psycopg.cpython-35m-darwin.so, 2): Library not loaded: libssl.1.0.0.dylib Referenced from: /Users/prunus1350/anaconda/lib/python3.5/site-packages/psycopg2/_psycopg.cpython-35m-darwin.so Reason: image not found
となります。
こちら
stackoverflow.com
を見ると、libssl と libcrypto のバージョンが低いのが原因のようです。
El Capitanでは /usr/lib 直下に書き込みができないので /usr/local/lib にリンクを作成します。
$ ln -s /usr/local/Cellar/openssl/1.0.2e/lib/libssl.1.0.0.dylib /usr/local/lib $ ln -s /usr/local/Cellar/openssl/1.0.2e/lib/libcrypto.1.0.0.dylib /usr/local/lib
確認
>>> import psycopg2 >>>
ちゃんとインポートできました。