有没有一种方法可以使用 pip 安装 psycopg2 而无需在主机系统上安装 postgres

Is there a way to install psycopg2 using pip without installing postgres on host system

在 mac 上使用 pip 安装 psycopg2 失败OS,出现错误 pg_config 找不到可执行文件 它似乎正在寻找 Pos tgres 安装。我不想在 host os 上安装 Postgres 并尝试使用 dockerized Postgres.

连接 Django 应用程序

当 Django 和 Postgres 在单独的容器中 dockerized 时,该应用程序工作正常,但保持 Postgres 容器启动并与 host OS Django 应用程序不工作。我是 运行 Django 在 python virtualenv 中。

psycopg2 使用 libpq (和其他库)连接到 PostgreSQL 数据库,因此至少您需要某种形式的库和 header与 PostgreSQL 安装相关联。没有这些库和 header 个文件,psycopg2 无法编译。 pg_config 只是告诉编译器在哪里可以找到这些依赖项。

我不确定你反对安装 Postgres 的原因是什么,但另一种可能是下载并安装 Postgres.app,它应该包含编译 psycopg2 所需的所有信息,打包得很好在您的 /Applications 文件夹中。

可以找到针对这种情况的类似问答here

您不需要安装 postgres 服务器。
Psycopg2 需要安装 pg_configlibpq,有一个二进制包 psycopg2-binary,其中包含所有依赖项:

Archive:  psycopg2_binary-2.8.4-cp27-cp27m-manylinux1_i686.whl
  Length      Date    Time    Name
---------  ---------- -----   ----
     6281  10-20-2019 00:46   psycopg2/pool.py
    14082  10-20-2019 00:46   psycopg2/errorcodes.py
    14865  10-20-2019 00:46   psycopg2/sql.py
     4261  10-20-2019 00:46   psycopg2/_lru_cache.py
    43756  10-20-2019 00:46   psycopg2/extras.py
     2929  10-20-2019 00:46   psycopg2/_ipaddress.py
    17667  10-20-2019 00:46   psycopg2/_range.py
     4892  10-20-2019 00:46   psycopg2/__init__.py
     7084  10-20-2019 00:46   psycopg2/extensions.py
   864740  10-19-2019 20:56   psycopg2/_psycopg.so
     4408  10-20-2019 00:46   psycopg2/tz.py
     7258  10-20-2019 00:46   psycopg2/_json.py
     1382  10-20-2019 00:46   psycopg2/errors.py
      367  10-20-2019 00:46   psycopg2/compat.py
   738104  10-19-2019 20:56   psycopg2/.libs/libkrb5-083f5b6f.so.3.3
   106904  10-19-2019 20:56   psycopg2/.libs/libselinux-89f957db.so.1
   637892  10-19-2019 20:56   psycopg2/.libs/libssl-edc39324.so.1.1.1d
     9004  10-19-2019 20:56   psycopg2/.libs/libkeyutils-1-418112b0.2.so
   329164  10-19-2019 20:56   psycopg2/.libs/libpq-2be1e2df.so.5.11
   428784  10-19-2019 20:56   psycopg2/.libs/libldap_r-2-2e3da1cd.4.so.2.10.11
   251840  10-19-2019 20:56   psycopg2/.libs/libsepol-5bd02592.so.1
  3050920  10-19-2019 20:56   psycopg2/.libs/libcrypto-7d5df85f.so.1.1.1d
   171928  10-19-2019 20:56   psycopg2/.libs/libk5crypto-92a64cbe.so.3.1
   240952  10-19-2019 20:56   psycopg2/.libs/libgssapi_krb5-e4e762a2.so.2.2
    75576  10-19-2019 20:56   psycopg2/.libs/libz-83853723.so.1.2.3
     8852  10-19-2019 20:56   psycopg2/.libs/libcom_err-caa8c98e.so.2.1
    55692  10-19-2019 20:56   psycopg2/.libs/liblber-2-9ed85788.4.so.2.10.11
   138640  10-19-2019 20:56   psycopg2/.libs/libsasl2-fa5e3f6a.so.3.0.0
    42920  10-19-2019 20:56   psycopg2/.libs/libkrb5support-4db1495c.so.0.1
     2238  10-20-2019 00:56   psycopg2_binary-2.8.4.dist-info/LICENSE.txt
      107  10-19-2019 20:56   psycopg2_binary-2.8.4.dist-info/WHEEL
        9  10-20-2019 00:56   psycopg2_binary-2.8.4.dist-info/top_level.txt
     4297  10-20-2019 00:56   psycopg2_binary-2.8.4.dist-info/METADATA
     3029  10-19-2019 20:56   psycopg2_binary-2.8.4.dist-info/RECORD
---------                     -------
  7290824                     34 files