Есть ли способ установить psycopg2 с помощью pip без установки postgres на хост-систему? - PullRequest
1 голос
/ 21 октября 2019

Сбой установки psycopg2 с помощью pip в macOS с ошибкой Исполняемый файл pg_config не найден Кажется, он ищет установку Postgres. Я не хочу устанавливать Postgres на хосте os и пытаться соединить приложение Django с докеризованным Postgres.

Приложение отлично работает, когда Django и Postgres докеризуются в отдельных контейнерах, но сохраняют контейнер Postgres и соединяются с хостомПриложение ОС Django не работает. Я управляю Django внутри python virtualenv.

Ответы [ 2 ]

2 голосов
/ 21 октября 2019

psycopg2 использует libpq (и другие библиотеки) для подключения к базе данных PostgreSQL, поэтому, по крайней мере, вам потребуется некоторая форма библиотек и заголовков, связанных с установкой PostgreSQL. Без этих библиотек и заголовочных файлов psycopg2 не может быть скомпилировано. pg_config просто сообщает компилятору, где найти эти зависимости.

Я не уверен, каковы ваши причины против установки Postgres, но есть и другая возможность - загрузить и установить Postgres.app ,который должен иметь всю информацию, необходимую для компиляции psycopg2, красиво упакованную в вашей папке /Applications.

Аналогичный вопрос и ответ для этой ситуации можно найти здесь

1 голос
/ 21 октября 2019

Вам не нужно устанавливать сервер postgres.
Psycopg2 должен быть установлен pg_config и libpq, есть бинарный пакет 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
...