Как найти путь конфигурации pg



полный новичок здесь, пытаясь настроить Django для работы с ProstgreSQL.



Я использую mac osx 10.6.8. Я также установил PostgreSQL 9.3



когда я запускаю pip install psycopg2 в терминале я получаю следующую ошибку



Downloading/unpacking psycopg2
Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded
Running setup.py (path:/private/var/folders/A9/A99cs6x0FNusPejCVkYNTE+++TI/-Tmp-/pip_build_bengorman/psycopg2/setup.py) egg_info for package 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'.
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'.


Я видел несколько сообщений на этом
как установить psycopg2-с-типун на языке Python
pg-config-executable-not-found



но я понятия не имею, как найти папку bin расположение содержащий команду pg_config. Любые советы по поиску этого пути?

826   11  

11 ответов:

Я рекомендую вам попробовать использовать Postgres.приложение. (http://postgresapp.com) Таким образом, Вы можете легко включить и выключить Postgres на вашем Mac. Как только вы это сделаете, добавьте путь к Postgres в свой .profile файл, добавив следующее:

PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"

только после того, как вы добавили Postgres на свой путь, вы можете попробовать установить psycopg2 либо в виртуальной среде (с помощью pip), либо в глобальных пакетах сайта.

Postgres.приложение было обновлено недавно. Теперь он хранит все двоичные файлы в папке "версии"

PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"

где 9.4 – версия PostgreSQL.

sudo find / -name "pg_config" -print

ответ /Library / PostgreSQL/9.1/bin / pg_config в моей конфигурации (MAC Maverick)

установка homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

а затем установка postgresql

brew install postgresql

дал мне этот прекрасный выход:

checking for pg_config... yes

ааааа один шанс

после того как вы установите текущее приложение PostgreSQL на МасОЅ х 10.11, это где файл команду pg_config составляет /Library/PostgreSQL/9.5/bin/pg_config.

затем на терминале:

    $ export PG_HOME=/Library/PostgreSQL/9.5
    $ export PATH=$PATH:$PG_HOME/bin

это поставит путь в поле .профиль любого терминала, который вы используете.

в вашей среде (предполагая, что вы используете virtualenv) затем вы устанавливаете psycopg2:

    $ pip install psycopg2

вы должны увидеть, если вы скачали ее раньше:

    Collecting psycopg2
      Using cached psycopg2-2.6.1.tar.gz
    Installing collected packages: psycopg2
      Running setup.py install for psycopg2 ... done
    Successfully installed psycopg2-2.6.1

подводя итог -- PostgreSQL устанавливает свои файлы (включая двоичные или исполняемые файлы) в разных местах, в зависимости от номера версии и способа установки.

некоторые из возможностей:

/usr/local/bin/
/Library/PostgreSQL/9.2/bin/
/Applications/Postgres93.app/Contents/MacOS/bin/
/Applications/Postgres.app/Contents/Versions/9.3/bin/

неудивительно, что люди путаются!

кроме того, если переменная среды $PATH содержит путь к каталогу, содержащему исполняемый файл (чтобы подтвердить это, используйте echo $PATH в командной строке), то вы можете запустить which pg_config, which psql и т. д. чтобы узнать где находится файл.

У меня была точно такая же ошибка, но я установил postgreSQL через brew и повторно запустил исходную команду, и она отлично работала:

brew install postgresql

вы можете найти pg_config каталог с использованием своего тезки:

$ pg_config --bindir
/usr/lib/postgresql/9.1/bin
$ 

протестировано на Mac и Debian. Единственная морщина заключается в том, что я не вижу, как найти bindir для разных версий postgres, установленных на одной машине. Это довольно легко догадаться, хотя! : -)

Примечание: я обновил свой pg_config до 9.5 в Debian с помощью:

sudo apt-get install postgresql-server-dev-9.5

проверьте / Library/PostgreSQL/9.3 / bin и вы должны найти pg_config

То Есть /Library/PostgreSQL/<version_num>/

ps: вы можете сделать следующее, Если вы считаете это необходимым для ваших потребностей pg -

создать .профиль в каталоге~

export PG_HOME=/Library/PostgreSQL/9.3
export PATH=$PATH:$PG_HOME/bin

теперь вы можете использовать psql или postgres команды из терминала, и установить psycopg2 или любой другой зависимости без проблем, плюс вы всегда можете просто ls $PG_HOME/bin когда вы чувствуете, как подглядывать на вашем pg_dir.

Я :

export PATH=$PATH:/Library/PostgreSQL/9.6/bin

pip install psycopg2

есть же проблема на mac, вам, вероятно, нужно

brew install postgresql

затем вы можете запустить

pip install psycopg2

варево исправит проблему пути для вас

Это решение работает для меня по крайней мере.

Comments

    Ничего не найдено.