Как установить 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-info\psycopg2.egg-info

writing pip-egg-info\psycopg2.egg-info\PKG-INFO

writing top-level names to pip-egg-info\psycopg2.egg-info\top_level.txt

writing dependency_links to pip-egg-info\psycopg2.egg-info\dependency_links.txt

writing manifest file 'pip-egg-info\psycopg2.egg-info\SOURCES.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 Settings\anlopes\Application Data\pip\p
ip.log

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

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

Ответ 1

Вам необходимо установить пакеты разработки как для PostgresSQL, так и для Python, иначе установка psycopg2 завершится неудачей.

Запустите команду для вашей операционной системы, упомянутой ниже, и попробуйте снова установить psycopg2.

Операционные системы/дистрибутивы

Debian/Ubuntu

Python 2

sudo apt install libpq-dev python-dev

Python 3

sudo apt install libpq-dev python3-dev

CentOS 6

Смотрите ответ банжера


Если этого недостаточно, попробуйте

sudo apt install build-essential

или

sudo apt install postgresql-server-dev-all

также перед повторной установкой psycopg2.

Ответ 2

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

sudo yum install python-devel postgresql-devel

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

Ответ 3

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

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

Ответ 4

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

brew install postgresql

И все остальные варианты: http://www.postgresql.org/download/macosx/

Удачи.

Ответ 5

Недавно я настроил 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

Ответ 6

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

Ответ 7

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

sudo yum install postgresql postgresql-devel python-devel

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

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

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

UPDATE: для python 3 установите python3-devel вместо python-devel

Ответ 8

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

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

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

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

в файле .profile или .zshrc.

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

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

Ответ 9

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

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

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

Ответ 10

Вкл Debian/Ubuntu:

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

# apt-get build-dep python-psycopg2

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

(env)$ pip install psycopg2

Ответ 11

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

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

Это не очень, но он работает.

Ответ 12

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

Ответ 13

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

Ответ 14

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

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

Ответ 15

Я боролся с этим в течение нескольких дней и, наконец, понял, как заставить команду "pip install psycopg2" запускаться в виртуальной среде в 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. (Вероятно, это предпочтительнее использовать версию PostgreSQL в Cygwin, так как собственная версия будет работать намного быстрее).

Ответ 16

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

apt-get install libpq-dev

Тогда:

pip install psycopg2

Ответ 17

В Fedora 24: для Python 3.x

sudo dnf install postgresql-devel python3-devel

sudo dnf install redhat-rpm-config

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

pip install psycopg2

Ответ 18

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

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

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

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

Ответ 19

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

sudo zypper in postgresql-devel 

Ответ 20

Я могу установить его на машину 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')

Ответ 21

В базовых дистрибутивах Arch:

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

Ответ 22

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

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

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

Ответ 23

В OSX 10.11.6 (El Capitan)

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

Ответ 24

В OSX с macports:

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

Ответ 25

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

Ответ 26

Прежде чем вы сможете установить psycopg2, вам необходимо установить пакет python-dev.

Если вы работаете с Linux (и, возможно, с другими системами, но я не могу сказать по своему опыту), вам нужно быть очень точным в том, какую версию python вы используете при установке пакета dev.

Например, когда я использовал команду:

sudo apt-get install python3-dev

Я все еще сталкивался с той же ошибкой при попытке

pip install psycopg2

Поскольку я использую Python 3.7 мне нужно было использовать команду

sudo apt-get install python3.7-dev

Как только я это сделал, я больше не сталкивался с проблемами. Очевидно, что если вы используете Python версии 3.5, вы бы изменили 7 на 5.

Ответ 27

У меня была эта проблема, основная причина была с 2-мя равными версиями. Один от postgres.app и один от HomeBrew.

Если вы решили оставить только приложение:

brew unlink postgresql
pip3 install psycopg2

Ответ 28

В MacOS Mojave убедитесь, что вы используете новейшее обновление с помощью инструментов командной строки 10.3, которое работало для меня, обновили его с помощью Software Update, предыдущая версия инструментов командной строки на Mojave не работала для меня.

Ответ 29

Попробуйте это в Gentoo:

emerge dev-libs/libpqxx

Ответ 30

На Windows это работает
В командной строке после установки флешки через pip в виртуальной среде выполните эту команду

>pip install psycopg2

Проверьте это