Could not build wheels for psycopg2-binaryが出た時の対処法 Mac対応
- 2024.03.09
- programming
PythonからPostgreSQLに接続するためのドライバである「psycopg2」。
こちらをインストールしようとした時に、エラーが出てしまった。
エラーの内容は、「Could not build wheels for psycopg2-binary …」。
結論として、Pythonのバージョンを変更して、仮想環境を作り直したことにより、解決ができた。
以前の環境として、
max OS Sonoma
Python 3.13 であった。
psycopg2をインストールできなかった原因
まずは、エラーの原因を探っていく。
エラーログ
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for psycopg2-binary
Failed to build psycopg2-binary
ERROR: Could not build wheels for psycopg2-binary, which is required to install pyproject.toml-based projects
「Could not build wheels for psycopg2-binary」と出ており、psycopg2-binaryのためのwheelsが構築できなかったようだ。
検索をする
「Could not build wheels for psycopg2-binary 対処」で検索をかけたところ、
以下の記事に行き着いた。
https://brainly.com/question/41843287
こちらの記事の中に、
「 This error suggests that necessary dependencies are missing or incompatible.」
とあった。
日本語訳をして、
「このエラーは、必要な依存関係が欠落しているか、互換性がないことを示しています。」とある。
ドキュメントにあたる
「互換性がない」という言葉に引っかかり、 psycopg2-binaryのドキュメントを検索
以下のドキュメント内にて次の文言を見つけた。
Psycopg 2.9.9 documentation
Prerequisites
The current psycopg2 implementation supports:
* Python versions from 3.7 to 3.12
* PostgreSQL server versions from 7.4 to 16
* PostgreSQL client library version from 9.1
とある。
上記を日本語訳にすると、
前提条件
現在の psycopg2 実装は以下をサポートしています。
* Python バージョン 3.7 から 3.12
* PostgreSQL サーバーのバージョン 7.4 ~ 16
* PostgreSQL クライアント ライブラリのバージョン 9.1 以降
どうやら、私のPythonバージョン 3.13をサポートしていないのが原因のようだ。
仮想環境を新しく作るで解決
psycopg2ドライバは、python 3.13をサポートしていないのが分かった。
そこで、python 3.11をインストールした上で、新しく仮想環境を作成することにした。
pythonバージョン確認方法
まずは、自身のPythonのバージョンを確認する。
ターミナルにて、
% python –version
と入力。
バージョンが確認できる。
% Python 3.13
pythonのインストール
ターミナルにて、
% pip install python == 3.11
と入力して、今回はバージョン3.11を指定してインストール。
仮想環境の作成
新しく仮想環境を作成する
ターミナルにて、
% python 3.11 -m venv <仮想環境名>
で作成する。
仮想環境で確認する
仮想環境に入る。
% cd <仮想環境名>/bin
% source activate
(仮想環境名)% で仮想環境に入っていることが分かる。
コマンド、
(仮想環境名) %python –version
を入力で、バージョンを確認。
Python 3.11.5
と出力。
Pythonの良いところは、仮想環境ごとに異なるバージョンで構築できるところである。
そして、お互いの環境に影響を与えることがない。
新しく作成した仮想環境にて無事、psycopg2-binaryのインストールができた。
最後に
互換性の有無を確認すること。そのためには、ドキュメントにあたることが大事。
-
前の記事
PostgreSQL pgAdmin4が起動しない時の対処法 2024.02.24
-
次の記事
Django アプリ開発日記④ エラー状況 django-allauth用のマイグレーションファイルができない(未解決) 2024.03.23