質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

2回答

11942閲覧

psycopg2がpip installできない

taketa

総合スコア13

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2020/10/07 10:08

djangoの学習をしています。
pip install psycopgをしたところえげつないない量のエラーが出ました。

試したこと
brew install openssl

openssl version
LibreSSL 2.8.3

pip install wheel
pip install -r requirements.txt

見たサイト
https://stackoverflow.com/questions/39810479/pip-install-psycopg2-broken-warning-unused-function-dprintf

$ pip install psycopg2 Collecting psycopg2 Using cached psycopg2-2.8.6.tar.gz (383 kB) Building wheels for collected packages: psycopg2 Building wheel for psycopg2 (setup.py) ... error ERROR: Command errored out with exit status 1: command: /Users/username/gurutake/myvenv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-install-but0ki_e/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-install-but0ki_e/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-wheel-zi04e14h cwd: /private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-install-but0ki_e/psycopg2/ Complete output (151 lines): running bdist_wheel running build running build_py creating build creating build/lib.macosx-10.9-x86_64-3.8 creating build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/_json.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/extras.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/compat.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/errorcodes.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/tz.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/_range.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/_ipaddress.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/_lru_cache.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/__init__.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/extensions.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/errors.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/sql.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 copying lib/pool.py -> build/lib.macosx-10.9-x86_64-3.8/psycopg2 running build_ext building 'psycopg2._psycopg' extension creating build/temp.macosx-10.9-x86_64-3.8 creating build/temp.macosx-10.9-x86_64-3.8/psycopg gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DPSYCOPG_VERSION=2.8.6 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=120004 -DHAVE_LO64=1 -I/Users/takeshimakenta/gurutake/myvenv/include -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -I. -I/usr/local/include -I/usr/local/include/postgresql/server -c psycopg/psycopgmodule.c -o build/temp.macosx-10.9-x86_64-3.8/psycopg/psycopgmodule.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DPSYCOPG_VERSION=2.8.6 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=120004 -DHAVE_LO64=1 -I/Users/takeshimakenta/gurutake/myvenv/include -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -I. -I/usr/local/include -I/usr/local/include/postgresql/server -c psycopg/green.c -o build/temp.macosx-10.9-x86_64-3.8/psycopg/green.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DPSYCOPG_VERSION=2.8.6 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=120004 -DHAVE_LO64=1 -I/Users/takeshimakenta/gurutake/myvenv/include -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -I. -I/usr/local/include -I/usr/local/include/postgresql/server -c psycopg/pqpath.c -o build/temp.macosx-10.9-x86_64-3.8/psycopg/pqpath.o psycopg/pqpath.c:138:17: warning: implicit conversion from enumeration type 'ConnStatusType' to different enumeration type 'ExecStatusType' [-Wenum-conversion] PQstatus(conn->pgconn) : PQresultStatus(*pgres))); ^~~~~~~~~~~~~~~~~~~~~~ psycopg/pqpath.c:1717:11: warning: code will never be executed [-Wunreachable-code] ret = 1; ^ psycopg/pqpath.c:1822:17: warning: implicit conversion from enumeration type 'ConnStatusType' to different enumeration type 'ExecStatusType' [-Wenum-conversion] PQstatus(curs->conn->pgconn) : PQresultStatus(curs->pgres))); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 warnings generated. gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DPSYCOPG_VERSION=2.8.6 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=120004 -DHAVE_LO64=1 -I/Users/takeshimakenta/gurutake/myvenv/include -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -I. -I/usr/local/include -I/usr/local/include/postgresql/server -c psycopg/utils.c -o build/temp.macosx-10.9-x86_64-3.8/psycopg/utils.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DPSYCOPG_VERSION=2.8.6 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=120004 -DHAVE_LO64=1 -I/Users/takeshimakenta/gurutake/myvenv/include -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -I. -I/usr/local/include -I/usr/local/include/postgresql/server -c psycopg/bytes_format.c -o build/temp.macosx-10.9-x86_64-3.8/psycopg/bytes_format.o In file included from psycopg/bytes_format.c:82: In file included from ./psycopg/psycopg.h:38: ./psycopg/config.h:82:13: warning: unused function 'Dprintf' [-Wunused-function] static void Dprintf(const char *fmt, ...) {} ^ 1 warning generated. 中略 ld: library not found for -lssl clang: error: linker command failed with exit code 1 (use -v to see invocation) error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Failed building wheel for psycopg2 Running setup.py clean for psycopg2 Failed to build psycopg2 Installing collected packages: psycopg2 Running setup.py install for psycopg2 ... error ERROR: Command errored out with exit status 1: command: /Users/username/gurutake/myvenv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-install-but0ki_e/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-install-but0ki_e/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-record-59wgyjnu/install-record.txt --single-version-externally-managed --compile --install-headers /Users/username/gurutake/myvenv/include/site/python3.8/psycopg2 cwd: /private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-install-but0ki_e/psycopg2/ ---------------------------------------- ERROR: Command errored out with exit status 1: /Users/username/gurutake/myvenv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-install-but0ki_e/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-install-but0ki_e/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/bs/fmrg9c216kq1639684j2glb40000gn/T/pip-record-59wgyjnu/install-record.txt --single-version-externally-managed --compile --install-headers /Users/username/gurutake/myvenv/include/site/python3.8/psycopg2 Check the logs for full command output.

字数制限のため削っております足りないところがございましたらなんなりとおもうしつけください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

「えげつない量」で表示されているのは、psycopg2がC言語で書かれた拡張モジュールで、必要なファイルをコピーしたりコンパイル等している経過であって、実際にエラーを示している部分は少量です。

いくつかのwarningには目をつぶるとして、問題は以下の箇所。

log

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

つまり、リンカー(ld)が「sslライブラリが見つからいよ」とエラーを吐き、拡張モジュールの生成に失敗しています。

ということは、あなたが「brew install openssl」でインストールしたであろうopensslのライブラリの在処を、pipコマンドが知らないということでしょう。

そこで、「pip install psycopg2 ssl」でGoogle検索すると、最初にStack Overflowの記事が見つかります。

python - error installing psycopg2, library not found for -lssl - Stack Overflow

これを読めば解決策がいくつか書いてあります。細かい点は異なりますが、「opensslのライブラリの在処を指定してpipを動かす」という点では同じです。

投稿2020/10/07 10:36

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taketa

2020/10/07 10:39

ありがとうございます!目を通します!
guest

0

ベストアンサー

pip install psycopg2-binary

これでどうでしょうか?

投稿2020/10/07 10:22

takutakuya

総合スコア979

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taketa

2020/10/07 10:37

うまくいきました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問