Как установить psycopg2 с "pip" на Python? - PullRequest
466 голосов
/ 24 марта 2011

Я использую 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 ...

Ответы [ 28 ]

6 голосов
/ 27 февраля 2012

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

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

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

5 голосов
/ 30 марта 2013

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

3 голосов
/ 14 марта 2012

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

3 голосов
/ 27 сентября 2013

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

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

2 голосов
/ 26 сентября 2012

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

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

VERSION = PostgreSQL 8.2.11

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

2 голосов
/ 11 октября 2016

В Fedora 24: для Python 3.x

sudo dnf install postgresql-devel python3-devel

sudo dnf install redhat-rpm-config

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

pip install psycopg2
1 голос
/ 09 июля 2016

In Arch базовые распределения:

sudo pacman -S python-psycopg2
pip2 install psycopg2  # Use pip or pip3 to python3
1 голос
/ 11 апреля 2016

Я мог установить его на машине с 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')
1 голос
/ 01 июля 2015

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

sudo zypper in postgresql-devel 
1 голос
/ 23 июня 2015

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

apt-get install libpq-dev

Тогда:

pip install psycopg2
...