У меня проблемы с установкой psycopg2. Я получаю следующую ошибку при попытке pip install psycopg2
:
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 in /tmp/pip-build/psycopg2
Но проблема на pg_config
самом деле в моем PATH
; работает без проблем:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Я попытался добавить путь pg_config к setup.cfg
файлу и создать его, используя исходные файлы, которые я скачал с их сайта ( http://initd.org/psycopg/ ), и я получаю следующее сообщение об ошибке!
Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Но это на самом деле ТАМ !!!
Я озадачен этими ошибками. Может кто-нибудь помочь, пожалуйста?
Кстати, у меня sudo
все команды. Также я на RHEL 5.5.
sudo
,$PATH
изменяется. Можете ли вы проверить ваш $ PATH как root?ln -s /usr/pgsql-9.1/bin/pg_config /usr/sbin/pg_config
и все в порядке!Ответы:
pg_config
находится вpostgresql-devel
(libpq-dev
в Debian / Ubuntu,libpq-devel
в Centos / Cygwin / Babun.)источник
libpq-dev
на Ubuntu Lucid (10.04). Заранее спасибо.pg_config
на postgress.app в/Applications/Postgres.app/Contents/Versions/<your version>/bin
(Mac OS X)libpqxx-devel
на Fedora.sudo apt-get install libpq-dev
работал для меня на UbuntuВ Mac OS X я решил это с помощью менеджера пакетов homebrew
источник
brew
команда работала.brew link postgresql
homebrew
.Вы установили
python-dev
? Если у вас уже есть, попробуйте также установитьlibpq-dev
Из статьи: Как установить psycopg2 под virtualenv
источник
Python.h: No such file or directory
apt-get install -y gcc
Также на OSX. Установил Postgress.app с http://postgresapp.com/, но имел ту же проблему.
Я нашел
pg_config
в содержимом этого приложения и добавил каталог$PATH
.Это было в
/Applications/Postgres.app/Contents/Versions/latest/bin
. Так что это сработалоexport PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.источник
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install psycopg2
На alpine библиотека, содержащая
pg_config
естьpostgresql-dev
. Чтобы установить, запустите:источник
Вот что у меня работает на CentOS, сначала установите:
В Ubuntu просто используйте эквивалентные пакеты apt-get.
А теперь включите путь к вашему бинарному каталогу postgresql при установке pip, это должно работать для Linux на основе Debain или RHEL:
Убедитесь, что вы указали правильный путь. Это все :)
источник
sudo apt-get install postgresql postgresql-dev python-dev
, и это работало для меня.gcc
установлен и python3-devel.источник
Вы должны добавить требования Python, используемые в Postgres на Ubuntu. Запустить:
источник
Подводя итог, я тоже столкнулся с точно такой же проблемой. После прочтения большого количества сообщений и онлайн-блогов, окончательное решение, которое сработало для меня:
1) PostgreSQL (разработка или любая стабильная версия) должен быть установлен перед установкой psycopg2.
2) Файл pg_config (этот файл обычно находится в папке bin установочной папки PostgreSQL) Перед установкой psycopg2 необходимо было явно настроить PATH. В моем случае установка PATH для PostgreSQL:
поэтому, чтобы явно установить PATH файла pg_config, я ввел следующую команду в моем терминале:
Эта команда гарантирует, что при попытке установить программу psycopg2 с помощью pip она на этот раз автоматически найдет PATH для pg_config.
Я также разместил полную ошибку с трассировкой и ее решением в моем блоге, на которую вы можете сослаться. Это для Mac OS X, но проблема PATH pg_config является общей и применима также и к Linux.
источник
PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"
sudo apt-get install libpq-dev
у меня работает на Ubuntu 15.4источник
На Linux Mint
sudo apt-get install libpq-dev
работал для меня.источник
Вы можете установить скомпилированные двоичные файлы на любую платформу с помощью
pip
илиconda
:или
Обращаем ваше внимание, что страница psycopg2-binary pypi рекомендует создавать из исходного кода в процессе производства:
Чтобы использовать пакет, созданный из источников, используйте
python -m pip install psycopg2
. Этот процесс потребует нескольких зависимостей ( документация ) (выделено мной):источник
apt install libpq-dev
ОБНОВИТЬ /etc/yum.repos.d/CentOS-Base.repo, разделы [base] и [updates]
ADD exclude = postgresql *
источник
Для тех, кто работает под управлением OS X, это решение работает для меня:
1) Установите Postgres.app:
http://www.postgresql.org/download/macosx/
2) Затем откройте терминал и выполните эту команду, заменив там, где написано {{version}}, номером версии Postgres:
экспорт PATH = $ PATH: /Applications/Postgres.app/Contents/Versions / {{версия}} / bin
например
экспорт PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.4/bin
источник
sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
Попробуйте добавить его в PATH:
источник
-bash: cd: /usr/pgsql-x.x/bin/: No such file or directory
/usr/pgsql-x.x/bin/
это правильно?pg_
файлы. Для postgres.app этот путь в Mac OS X есть/Applications/Postgres.app/Contents/Versions/9.3/bin
.PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Пожалуйста, обновите вашу версию *, если выпущена новая версия!PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/
Решение Али сработало для меня, но у меня были проблемы с поиском местоположения папки для мусора. Быстрый способ найти путь в Mac OS X - открыть psql (в верхней строке меню есть быстрая ссылка). Откроется отдельное окно терминала, и во второй строке путь вашей установки Postgres будет выглядеть так:
Ваш файл pg_config находится в этой папке bin. Поэтому перед установкой psycopg2 установите путь к файлу pg_config:
или для более новой версии:
Затем установите psycopg2.
источник
/Applications/Postgres.app/Contents/Versions/9.3/bin
find /usr/local -name 'pg_config'
Вам необходимо обновить свой пип перед установкой psycopg2. Используйте эту команду
источник
Я собираюсь оставить это здесь для следующей несчастной души, которая не может обойти эту проблему, несмотря на все предоставленные решения. Просто использовать
sudo pip3 install psycopg2-binary
источник
brew install postgresql
исправил это.pip install psycopg2-binary
для меня: pip -> python2, pip3 -> python3. Но пока вы работаете, это было одним из многих решений!Только что решил проблему в Cent OS 7:
убедитесь, что ваша версия PostgreSql соответствует правильной версии выше.
источник
В Mac OS X и если вы используете приложение Postgres ( http://postgresapp.com/ ):
Не нужно указывать версию Postgres в этой команде. Это всегда будет указывать на последние.
и делать
PS: если изменения не отражаются, вам может потребоваться перезапустить терминал / командную строку
Источник
источник
Установка Python-psycopg2 решила это для меня на Arch Linux:
источник
В Windows вы можете установить порт Psycopg для Windows , что рекомендуется в документации psycopg .
источник
В MacOS самым простым решением будет символическая ссылка на правильный двоичный файл, который находится в пакете Postgres.
Это довольно безопасно, и все приложения смогут использовать его в масштабе всей системы, если потребуется.
источник
sudo yum установить postgresql-devel (centos6X)
pip install psycopg2 == 2.5.2
источник
Здесь, для полноты OS X: если вы установите PostgreSQL из MacPorts, pg_config будет в
/opt/local/lib/postgresql94/bin/pg_config
.Когда вы установили MacPorts, он уже добавил
/opt/local/bin
в вашу PATH.Итак, это решит проблему:
$ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config
Теперь
pip install psycopg2
сможет работатьpg_config
без проблем.источник
Для тех, кто в MacOS Catalina использует
zsh
оболочку, которая также установила приложение postgres :Откройте ваш
~/.zshrc
файл и добавьте следующую строку:Затем закройте все свои терминалы, снова откройте их, и вы решите свою проблему.
Если вы не хотите закрывать свои терминалы, просто введите тот
source ~/.zshrc
терминал, на котором вы хотите продолжать работать.источник
zsh
shell!Для пользователей Mac расширьте вашу переменную path, чтобы включить PostgreSQL, как это
export PATH=$PATH:/Library/PostgreSQL/12/bin
.источник
Вот так мне удалось установить psycopg2
источник
Я уверен, что вы столкнулись с той же «проблемой», что и я, поэтому я предложу вам чрезвычайно простое решение ...
В вашем случае фактический путь, который вам нужно добавить в $ PATH (или в качестве параметра команды):
не
Например, если вы запустите скрипт python setup.py впоследствии, вы запустите его так:
Возможно, слишком поздно, но все же самое простое решение.
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ:
При дальнейшем тестировании я обнаружил, что если вы изначально добавите путь к pg_config в форме
(без / pg_config после ..... / bin) и выполните команду pip install, это сработает.
Однако если вы затем решите следовать указаниям для запуска python setup.py, вам нужно будет указать путь с помощью / pg_config после ..... / bin, т.е.
источник
/usr/pgsql-9.6/bin/pg_config
(или как она называется в вашей системе), чтобы/usr/bin/pg_config
- таким образом, она была доступна в PATH, которую вы уже получили.для CentOS / RedHat убедитесь, что
/etc/alternatives/pgsql-pg_config
это неразрывная символическая ссылкаисточник