Как исправить ошибку 'pg_config executable not found' при установке psycopg2
Если вы пытались установить пакет Python psycopg2
для подключения к базам данных PostgreSQL, вы могли столкнуться с досадной ошибкой pg_config executable not found
. Это руководство объясняет причины этой ошибки и предоставляет четкие шаги по ее устранению на различных операционных системах.
Ключевые выводы
- Ошибка
pg_config executable not found
возникает при установке пакетов Python, таких какpsycopg2
, которые требуют PostgreSQL - Убедитесь, что PostgreSQL установлен и
pg_config
находится в системномPATH
- Установите библиотеки и заголовки разработки PostgreSQL для вашей операционной системы
- Рассмотрите возможность использования
psycopg2-binary
для разработки/тестирования, чтобы избежать сборки из исходного кода
Что такое ошибка ‘pg_config executable not found’?
Инструмент pg_config
предоставляет информацию об установленной версии PostgreSQL. Многие пакеты, такие как psycopg2
, полагаются на pg_config
во время установки для поиска необходимых файлов и библиотек PostgreSQL. Если pg_config
не может быть найден, установка завершается с ошибкой вида:
Error: pg_config executable not found.
Распространенные причины ошибки ‘pg_config executable not found’
Есть несколько основных причин, по которым вы можете увидеть эту ошибку:
- PostgreSQL не установлен
- Исполняемый файл
pg_config
отсутствует в системномPATH
- Отсутствуют необходимые библиотеки и заголовки разработки PostgreSQL
Давайте рассмотрим, как решить каждую из этих проблем.
Как исправить ошибку ‘pg_config executable not found’
1. Установите PostgreSQL
Сначала убедитесь, что PostgreSQL установлен в вашей системе. Вы можете загрузить соответствующий установщик для вашей операционной системы с официального сайта PostgreSQL.
2. Найдите pg_config
и добавьте его в PATH
Исполняемый файл pg_config
включен в PostgreSQL, но может отсутствовать в системном PATH
. Найдите расположение pg_config
и добавьте его каталог в PATH
:
Linux
Распространенные местоположения:
/usr/pgsql-<version>/bin/pg_config
/usr/local/pgsql/bin/pg_config
Добавление в PATH
:
export PATH=$PATH:/путь/к/каталогу/pg_config
macOS
Распространенное местоположение (Postgres.app):
/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
Добавление в PATH
:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
Windows
Распространенное местоположение:
C:\Program Files\PostgreSQL\<version>\bin\pg_config.exe
Добавление в PATH
:
setx PATH "%PATH%;C:\путь\к\каталогу\pg_config"
3. Установите библиотеки разработки PostgreSQL
Чтобы скомпилировать psycopg2
, вам нужны библиотеки и заголовки разработки PostgreSQL. Установите их с помощью менеджера пакетов вашей системы:
Linux
- Ubuntu/Debian:
sudo apt install libpq-dev
- CentOS/RHEL:
sudo yum install postgresql-devel
macOS
Установите с помощью Homebrew:
brew install postgresql
Windows
Библиотеки включены в установщик PostgreSQL с официального сайта.
Установите psycopg2
С установленным PostgreSQL и pg_config
в PATH
, вы теперь можете установить psycopg2
:
pip install psycopg2
Если вы предпочитаете избежать сборки из исходного кода, вы можете установить предварительно собранный пакет psycopg2-binary
:
pip install psycopg2-binary
Однако, обратите внимание, что psycopg2-binary
рекомендуется только для разработки и тестирования, но не для производства.
Часто задаваемые вопросы
Да, `psycopg2-binary` предоставляет предварительно собранные пакеты wheel, которые не требуют компиляции из исходного кода. Однако, команда `psycopg2` рекомендует использовать дистрибутив исходного кода для производственных сред.
Да, `psycopg2` - это адаптер PostgreSQL для Python. Он требует установки PostgreSQL для правильного функционирования, даже если ваше приложение Python подключается к удаленной базе данных PostgreSQL.
Заключение
Следуя описанным здесь шагам, вы сможете устранить ошибку pg_config executable not found
и успешно установить psycopg2
, чтобы начать использовать PostgreSQL в ваших проектах Python.