Проблема с установкой pyscopg2 в Mac OS X - PullRequest
3 голосов
/ 11 мая 2009

Я скачал последнюю версию pyscopg2 и попытался собрать и установить ее, используя предоставленные инструкции. Однако я всегда получаю сообщение о том, что «w» не объявлено. У кого-нибудь есть опыт с этим?

Ответы [ 3 ]

11 голосов
/ 11 мая 2009

Это ошибка, которая возникает, когда инструменты сборки не могут найти ваши библиотеки Postgresql. Это означает одно из трех:

  1. В вашей системе не установлен postgresql. Если это так, загрузите и соберите postgres или загрузите предварительно собранный бинарный файл psycopg2 для OS X.

  2. В вашей системе установлен postgresql, но вы установили его из бинарного пакета и, следовательно, не имеете необходимых библиотек, необходимых для psycopg2. В этом случае скачайте и соберите postgres.

  3. Чаще, однако, это означает, что вы создали postgres в своей системе и вам просто нужно указать psycopg2, как найти двоичный файл pg_config, чтобы он мог настроить компиляцию. Или:

    а. поместите путь к pg_config в путь к вашей оболочке (обычно это /usr/local/pgsql/bin/, если вы строили postgres из исходного кода, используя значения по умолчанию.

    б. или отредактируйте файл setup.cfg в исходной папке psycopg2 и укажите полный путь к pg_config в строке, начинающейся с pg_config=. Обязательно раскомментируйте эту строку, удалив хэш-символ на передней панели. Если вы построили postgres с использованием значений по умолчанию, строка будет выглядеть примерно так:

    pg_config=/usr/local/pgsql/bin/pg_config

3 голосов
/ 15 июля 2011

с использованием MacPorts на Snow Leopard

pg_config=/opt/local/lib/postgresql90/bin/pg_config
0 голосов
/ 04 ноября 2014

Мне нужно было установить библиотеку psycopg2 только в virtualenv, не добавляя ее в корневой python, и я не хотел полностью устанавливать postgreSQL на мою локальную машину, поэтому я пришел к этому решению, которое, кажется, работает очень хорошо.

  1. Загрузите postgres.app из здесь и поместите приложение в папку «Приложения».

  2. В оболочке добавьте каталог bin для postgres.app в PATH:

export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.3/bin

  1. Активируйте virtualenv:

. myvenv / бен / активировать

  1. pip install psycopg2

Я попытался установить переменную pg_config, но это не сработало. Установка pip специально сказала мне, что я должен был поместить каталог, где pg_config был расположен в пути.

Я также предпочитаю это решение, потому что, если я хочу запустить PostgreSQL локально, я могу легко просто запустить приложение, а затем закрыть его, когда я закончу, и он уйдет - в фоновом режиме ничего не останется. Никаких изменений конфигурации системы или чего-либо еще. Это отличный способ запустить PostgreSQL для локальной разработки или быстрой демонстрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...