Как найти путь конфигурации 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. Любые советы по поиску этого пути?
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.
есть же проблема на mac, вам, вероятно, нужно
brew install postgresql
затем вы можете запустить
pip install psycopg2
варево исправит проблему пути для вас
Это решение работает для меня по крайней мере.
Comments