Как установить 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
это то, что сработало для меня (на 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
Я установил 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
я мог бы установить его на машине 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
если pip не работает, чем вы можете скачать .whl файл отсюда https://pypi.python.org/pypi/psycopg2
извлечь его..
чем python setup.py install