Как установить 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
Проверьте это