現在、Eclipse内でpythonを使用するためにpsycopg2をインストールしています。
私は多くの問題を見つけています:
Sudo pip3.4 install psycopg2
は機能しておらず、次のメッセージが表示されていますエラー:pg_config実行可能ファイルが見つかりません。
修正済み:export PATH=/Library/PostgreSQL/9.4/bin/:"$PATH”
ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.soライブラリlibssl.1.0.0.dylibライブラリlibcrypto.1.0.0.dylib
修正済み:Sudo ln -s /Library/PostgreSQL/9.4/lib/libssl.1.0.0.dylib /usr/lib Sudo ln -s /Library/PostgreSQL/9.4/lib/libcrypto.1.0.0.dylib /usr/lib
ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so、2):シンボルが見つかりません:_lo_lseek64参照元:/ Library/Frameworks/Python .framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so予想される場所:/usr/lib/libpq.5.dylib /Library/Frameworks/Python.framework/Versions/3.4/lib /python3.4/site-packages/psycopg2/_psycopg.so
手伝って頂けますか?
バージョンが古すぎるため、/ usr/lib/libpq.5.dylibライブラリを置き換える必要があります。
この問題に対する私の解決策は次のとおりです。
$ Sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old
$ Sudo ln -s /Library/PostgreSQL/9.4/lib/libpq.5.dylib /usr/lib
PostgresAppを使用している場合、次の2つのコマンドを実行する必要があります。
Sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old
Sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib
以下は、El CapitanでOS X El Capitanシステム整合性保護(SIP)を回避するために再起動する必要のない修正です。
brew unlink postgresql && brew link postgresql
brew link --overwrite postgresql
ヨセミテ、postgres.app、Djangoを使用しています。これにより、psycopg2が適切にロードされましたが、1つの違いは、libpq.5.dylib
ファイルが/Applications/Postgres.app/Contents/Versions/9.4/lib
にあることです。
したがって、私の2行目はSudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib
でした
@ KungFuLucky7の答えを使用できないエルキャピタンの皆さんのために-問題を修正するために以下を使用しました(必要に応じてパスを調整してください)。
Sudo install_name_tool -change libpq.5.dylib /Library/PostgreSQL/9.5/lib/libpq.5.dylib /usr/local/lib/python2.7/site-packages/psycopg2/_psycopg.so
エルキャピタンでは、@ Forbzeと同じソリューションを使用しましたが、さらに2つのコマンドを次のように使用しました。
Sudo install_name_tool -change libpq.5.dylib /Library/PostgreSQL/9.3/lib/libpq.5.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
Sudo install_name_tool -change libssl.1.0.0.dylib /Library/PostgreSQL/9.3/lib/libssl.1.0.0.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
Sudo install_name_tool -change libcrypto.1.0.0.dylib /Library/PostgreSQL/9.3/lib/libcrypto.1.0.0.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
完璧に機能します!
まあ、私は私の解決策を提供したいのですが、問題はcのバージョンに関連しています。だから、私はちょうど入力しました:
CFLAGS='-std=c99' pip install psycopg2==2.6.1