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

时间:2019-10-21 03:20:40

标签: postgresql macos docker psycopg2

在macOS上使用pip安装psycopg2失败,错误为 pg_config可执行文件未找到。它似乎正在寻找Postgres安装。我不想在主机操作系统上安装Postgres,并尝试将Django应用与dockerized Postgres连接起来。

当在单独的容器中对Django和Postgres进行docker化时,该应用程序运行良好,但是保持Postgres容器并与主机OS连接Django应用程序无效。我正在python virtualenv内运行Django。

2 个答案:

答案 0 :(得分:2)

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

我不确定您安装Postgres的原因是什么,但是另一种可能性是下载并安装Postgres.app,该文件应该包含编译psycopg2所需的所有信息,并且打包在您的计算机中/Applications文件夹。

可以找到关于这种情况的类似问答here

答案 1 :(得分:1)

您不需要安装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