web-dev-qa-db-ja.com

pip installでpsycopg2パッケージをインストールできません...これはSierraが原因ですか?

私は講義の1つのプロジェクトに取り組んでいます。使用中のpostgresqlデータベースを操作するには、psycopg2パッケージをダウンロードする必要があります。残念ながら、psycopg2をpipインストールしようとすると、次のエラーが表示されます。

ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang' failed with exit status 1
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang' failed with exit status 1

なぜこれが起こっているのか知っていますか? Sierraが一部のパッケージをサポートしていないためですか?前もって感謝します!

39
Jome

コマンドラインツールをインストールしてこれを修正しました

xcode-select --install

次に、Homebrewを介してopensslをインストールし、homebrewでインストールしたopensslをpipに手動でリンクします:

env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2

macOS Sierra 10.12.1で

164
zganger

以下でインストールしてみてください:

pip install psycopg2-binary
15
Dheeraj Pande
  1. Xcode開発者ツールのインストール/更新

    xcode-select --install
    
  2. Postgresパスのクエリ

    find / -name pg_config  2>/dev/null
    
  3. Psycopg2をインストールし、ステップ2で取得したパスを使用します。私のものは「/usr/local/Cellar/postgresql/9.5.0/bin/pg_config」でした

    PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/ pip install psycopg2
    
5
einmuya

これは私にとってはうまくいきます(端末上で):

find / -name pg_config  2>/dev/null

次に、パスを追加します。

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.5/bin/

oSバージョン:MacOs Sierra

これがお役に立てば幸いです。

1
Lex Bryan

Pipenv install psycopg2を使用して同様の問題が発生した場合:

ld:ライブラリが見つかりません-lssl '、' clang:エラー:リンカコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください) '、 "エラー:コマンド' clang 'は終了ステータス1で失敗しました"、'
---------------------------------------- '、

上記のすべての推奨事項を試しましたが、どれも機能しませんでした。私は数ヶ月前に別のvirtualenvでこの問題に直面し、これが psycopg2バージョンの問題 であることについて何かを読んだことを思い出しました。そこで、2.7.1と2.8.3でインストールしようとしましたが、どちらもまだ失敗しました。どういうわけかバージョン2.7.7は機能しました:

pipenv install psycopg2==2.7.7

実際に何が起こっているのかを理解するために、これをさらに調査する時間があればいいのにと思います。しかし、今のところはそうではなく、これはうまくいきました。

0

古いですが、pipenvを使用している人のために、依存関係グラフを見てpipenv graph --reverseとそれに気づくにはpsycopg2-binary==2.8.2。ランニング pipenv install psycopg2-binaryは問題を解決しました。

0
Mavrick Laakso

Opensslパッケージがインストールされていないようです。インストールしてpip installもう一度。私はmacosユーザーではありませんが、 brew はそのプラットフォームでのパッケージ管理を簡素化すると考えています。

また、Python開発およびpostgresql開発パッケージをインストールする必要があります。

0
mhawke
brew install postgresql

Postgresqlが存在する場合、次を実行します。

brew upgrade postgresql
Sudo pip install psycopg2

Venvで:

env LDFLAGS='-L/usr/local/lib -L/usr/local/opt/openssl/lib
-L/usr/local/opt/readline/lib' pip install psycopg2==2.8.3
0
Ion Gorincioi