Could not build wheels for psycopg2-binaryが出た時の対処法 Mac対応

Could not build wheels for psycopg2-binaryが出た時の対処法 Mac対応

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のインストールができた。

最後に

互換性の有無を確認すること。そのためには、ドキュメントにあたることが大事。