Как установить psycopg2 с "pip" на Python?

Я использую virtualenv и мне нужно установить "psycopg2".

Я сделал следующее:

pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160

и у меня есть следующие сообщения:

Downloading/unpacking http://pypi.python.org/packages/source/p/psycopg2/psycopg2
-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
  Downloading psycopg2-2.4.tar.gz (607Kb): 607Kb downloaded
  Running setup.py egg_info for package from http://pypi.python.org/packages/sou
rce/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
    Error: pg_config executable not found.

    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'.
    Complete output from command python setup.py egg_info:
    running egg_info

creating pip-egg-infopsycopg2.egg-info

writing pip-egg-infopsycopg2.egg-infoPKG-INFO

writing top-level names to pip-egg-infopsycopg2.egg-infotop_level.txt

writing dependency_links to pip-egg-infopsycopg2.egg-infodependency_links.txt

writing manifest file 'pip-egg-infopsycopg2.egg-infoSOURCES.txt'

warning: manifest_maker: standard file '-c' not found

Error: pg_config executable not found.



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'.

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in C:Documents and SettingsanlopesApplication Datapipp
ip.log

мой вопрос, мне нужно только сделать это, чтобы заставить psycopg2 работать?

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

26 ответов


я нашел этот пост в поисках решения этой проблемы для Linux.

этой сообщение от "goshawk" дал мне решение: run sudo apt-get install libpq-dev python-dev если вы находитесь на Ubuntu / Debian.

обновление

так как больше людей нашли этот ответ полезным и разместили свои собственные решения, вот их список:

Debian / Ubuntu

Python 2

sudo apt install libpq-dev python-dev

Python 3

sudo apt install libpq-dev python3-dev

дополнительные

если ни одно из вышеперечисленного не решит вашу проблему, попробуйте

sudo apt install build-essential

или

sudo apt install postgresql-server-dev-all

на CentOS вам нужны пакеты Postgres dev:

sudo yum install python-devel postgresql-devel

Это было решение по крайней мере на CentOS 6.


на Mac Mavericks с Postgres.app версии 9.3.2.0 RC2 мне нужно было использовать следующий код после установки Postgres:

sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2


Если вы на mac, вы можете использовать homebrew

brew install postgresql

и все остальные опции здесь:http://www.postgresql.org/download/macosx/

удачи


недавно я настроил psycopg2 на машине windows. Самая простая установка - использование исполняемого двоичного файла windows. Вы можете найти его в http://stickpeople.com/projects/python/win-psycopg/.

чтобы установить собственный двоичный файл в виртуальной среде, используйте easy_install:

C:\virtualenv\Scripts\> activate.bat
(virtualenv) C:\virtualenv\Scripts\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe

для Python 3, Вы должны использовать sudo apt-get install libpq-dev python3-dev под Debian.


это то, что сработало для меня (на RHEL, CentOS:

sudo yum install postgresql postgresql-devel python-devel

а теперь включите путь к вашему двоичному каталогу postgresql с помощью pip install:

sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2

обязательно укажите правильный путь. Вот и все :)

обновление: для python 3, пожалуйста, установите python3-devel вместо python-devel


если вы используете Mac OS, вы должны установить PostgreSQL из исходного кода. После завершения установки необходимо добавить этот путь, используя:

export PATH=/local/pgsql/bin:$PATH

или вы можете добавить путь следующим образом:

export PATH=.../:usr/local/pgsql/bin

в своем .profile файл или .

это может варьироваться в зависимости от операционной системы.

вы можете следить за процессом установки http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source/


ответы до сих пор слишком похожи на волшебные рецепты. Полученная ошибка говорит о том, что pip не может найти необходимую часть библиотеки запросов PostgreSQL. Возможно, это связано с тем, что он установлен в нестандартном месте для вашей ОС, поэтому в сообщении предлагается использовать параметр --pg-config.

но более распространенной причиной является то, что у вас вообще нет libpq. Это обычно происходит на машинах, где не установлен сервер PostgreSQL, потому что вы хотите запускать только клиентские приложения, а не сам сервер. Каждая ОС / дистрибутив отличается, например, на Debian / Ubuntu вам нужно установить libpq-dev. Это позволяет компилировать и связывать код с библиотекой запросов PostgreSQL.

большинство ответов также предлагают установить библиотеку разработчиков Python. Быть осторожным. Если вы используете только Python по умолчанию, установленный дистрибутивом, это будет работать, но если у вас есть более новая версия, это может вызвать проблемы. Если вы построили Python на этом машина тогда у вас уже есть библиотеки dev, необходимые для компиляции библиотек C/C++ для взаимодействия с Python. Пока вы используете правильную версию pip, установленную в той же папке bin, что и двоичный файл python, вы все настроены. Нет необходимости устанавливать старую версию.


On Debian/Ubuntu:

Сначала установите и постройте зависимости :

# apt-get build-dep python-psycopg2

затем в виртуальной среде скомпилируйте и установите psycopg2 модуль:

(env)$ pip install psycopg2

Я сделал это раньше, где в windows вы устанавливаете сначала в свою базовую установку python.

затем вручную скопируйте установленный psycopg2 в virtualenv install.

Это не красиво, но это работает.


помимо установки необходимых пакетов, мне также необходимо вручную добавить каталог PostgreSQL bin в PATH.
$vi ~/.bash_profile
Добавить PATH=/usr/pgsql-9.2/bin:$PATH до export PATH.
$source ~/.bash_profile
$pip install psycopg2


в windows XP вы получаете эту ошибку, если postgres не установлен ...


Я установил Postgresql92 с помощью репозитория RedHat / CentOS на сайте загрузки PG http://www.postgresql.org/download/linux/redhat/

чтобы получить pg_config, мне пришлось добавить /usr/pgsql-9.2 / bin в PATH.


Я боролся с этим в течение нескольких дней, и, наконец, понял, как получить команду "pip install psycopg2" для запуска в virtualenv в Windows (работает Cygwin).

я нажимал " исполняемый файл pg_config не найден."ошибка, но я уже загрузил и установил postgres в Windows. Он также установлен в Cygwin; запуск "который pg_config" в Cygwin дал "/usr/bin/pg_config", а запуск "pg_config" дал нормальный вывод - однако версия, установленная с Cygwin есть:

версия = PostgreSQL 8.2.11

Это не будет работать с текущей версией psycopg2, которая, по-видимому, требует по крайней мере 9.1. Когда я добавил ...c:\Program Files\PostgreSQL\9.2\bin " к моему пути Windows, установщик Cygwin pip смог найти правильную версию PostgreSQL, и я смог успешно установить модуль с помощью pip. (Это, вероятно, предпочтительнее, чем использовать версию Cygwin PostgreSQL в любом случае, так как родная версия будет работать много быстрее.)


На Fedora 24: Для Python 3.x

sudo dnf install postgresql-devel python3-devel

sudo dnf install redhat-rpm-config

активируйте виртуальную среду:

pip install psycopg2

для скромных пользователей Windows застряли, чтобы установить psycopg2 по ссылке ниже, просто установите его на любую установку Python, которую вы установили. Он разместит папку с именем "psycopg2" в папке site-packages вашей установки python.

после этого просто скопируйте эту папку в каталог site-packages вашего virtualenv, и у вас не будет проблем.

вот ссылка, вы можете найти исполняемый файл для установки psycopg2

http://www.lfd.uci.edu / ~gohlke / pythonlibs/


на OpenSUSE 13.2 это исправило его:

sudo zypper in postgresql-devel 

я мог бы установить его на машине windows и использовать Anaconda / Spyder с python 2.7 с помощью следующих команд:

 !pip install psycopg2

затем установить соединение с базой данных:

 import psycopg2
 conn = psycopg2.connect(dbname='dbname',host='host_name',port='port_number', user='user_name', password='password')

на арка база распределения:

sudo pacman -S python-psycopg2
pip2 install psycopg2  # Use pip or pip3 to python3

Psycopg2 зависит от библиотек Postgres. В Ubuntu вы можете использовать:

apt-get install libpq-dev

затем:

pip install psycopg2

на Ubuntu мне просто нужен пакет postgres dev:

sudo apt-get install postgresql-server-dev-all

* протестировано в virtualenv


на OSX 10.11.6 (El Capitan)

brew install postgresql
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2

на OSX с macports:

sudo port install postgresql96
export PATH=/opt/local/lib/postgresql96/bin:$PATH

если pip не работает, чем вы можете скачать .whl файл отсюда https://pypi.python.org/pypi/psycopg2 извлечь его.. чем python setup.py install


попробуем Gentoo:

emerge dev-libs/libpqxx