it-swarm.com.ru

Как найти путь pg_config

Полное новичок здесь, пытаясь настроить 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-with-pip-on-python
pg-config-executeable-not-found

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

55
Ben

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

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

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

85
elynch
Sudo find / -name "pg_config" -print

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

28
user1953296

Postgres.app был недавно обновлен. Теперь он хранит все двоичные файлы в папке «Версии»

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

Где 9.4 - версия PostgreSQL. 

26
Daniil Ryzhkov

Установка доморощенного

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

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

brew install postgresql

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

checking for pg_config... yes

ааааааааааааааааа

16
cpres

После установки текущего приложения PostgreSQL на MacOS X 10.11, здесь файл pg_config - /Library/PostgreSQL/9.5/bin/pg_config.

Тогда на Терминале:

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

Это поместит путь в .profile того терминала, который вы используете.

В вашей среде (при условии, что вы используете 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
11
Afrowave

Подводя итог: 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 и т.д., Чтобы узнать где находится файл расположен .

7
jkdev

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

brew установить postgresql

5
romainm

Вы можете найти каталог pg_config, используя его тезку:

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

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

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

Sudo apt-get install postgresql-server-dev-9.5
2
Max Murphy

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

И.Е. /Library/PostgreSQL/<version_num>/

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

создайте .profile в вашем каталоге

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

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

1
codesage

Я использовал :

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

pip install psycopg2
1
Deepika Anand

Это как просто получить путь к pg_config

$ which pg_config                 // prints the directory location 
/usr/bin/pg_config
0
bereket gebredingle

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

brew установить postgresql

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

pip install psycopg2

Пиво решит проблему ПУТИ для вас

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

0
zoe_stockholm