Linux

poetry add を使ってpsycopg2をインストールしようとするとエラー

エラーが起こったのでpsycopg2-binaryを入れるとすんなり入ったのですが、x64 Linuxを使っててこれしかないっていうことはありえないということで、原因を追究。

環境

WSL2
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal

[tool.poetry.dependencies]
python = “3.8”
psycopg2 = “2.9.4”

問題の追究

エラー内容をよく読むと、psycopg2のビルドにはpg_configが必要の様子。


    pg_config is required to build psycopg2 from source.  Please add the directory
        containing pg_config to the $PATH or specify the full executable path with the
        option:

            python setup.py build_ext --pg-config /path/to/pg_config build ...

        or with the pg_config option in 'setup.cfg'.

pg_configのインストール

pg_configはapt内のlibpq-devパッケージに含まれるとのことでこれをインストール

参考:
postgresql – pg_config – postgresのバージョンを変更する方法
https://stackoverflow.com/questions/48562616/pg-config-how-to-change-postgres-versions

PostgreSQLをインストールするには | Ninton
https://www.ninton.co.jp/archives/3834

気を取り直してもう一度psycopg2のインストールを試みるが、またもエラー

ログを見てみると

    × python setup.py bdist_wheel did not run successfully.
    │ exit code: 1
    ╰─> [21 lines of output]
        running bdist_wheel
        running build
        running build_py
        running build_ext
        building 'psycopg2._psycopg' extension
        In file included from psycopg/adapter_asis.c:28:
        ./psycopg/psycopg.h:35:10: fatal error: Python.h: No such file or directory
           35 | #include 
              |          ^~~~~~~~~~
        compilation terminated.

        It appears you are missing some prerequisite to build the package from source.

なるほどよくわからんので適当にエラーの文言を検索すると以下のサイトがヒット

django – Error trying to install Postgres for python (psycopg2) – Stack Overflow
https://stackoverflow.com/questions/22938679/error-trying-to-install-postgres-for-python-psycopg2

なるほどpython3-devがいるのかなと思ってインストールしてみてみるとビンゴ

無事poetryでpsycopg2をインストールできました。

改めてその後資料を見てみると

install psycopg2 with pg_config error in Ubuntu? – Step Up Automation
https://stepupautomation.wordpress.com/2020/06/23/install-psycopg2-with-pg_config-error-in-ubuntu/

ここにもうちょっと突っ込んだ内容も含めて全部書いてありました

スポンサードサーチ

GrafanaをDockerで起動しようとするとcan’t create directoryというエラーが出て起動できない前のページ

インストールしたパッケージの場所を調べる次のページ

最近の記事

Twitter

PAGE TOP