Как установить 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-devPython 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.версия приложения 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 dev. Быть осторожным. Если вы используете только 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 в виртуальное окружение установить.
Это не красиво, но это работает.
помимо установки необходимых пакетов, мне также нужно было вручную добавить каталог 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/Бен/команду 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. (Это, вероятно, предпочтительнее, чем использовать версию 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')
In Arch база распределения:
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
Comments