PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Защо не мога да инсталирам psycopg2? (Python 2.6.4, PostgreSQL 8.4, OS X 10.6.3)

(Вижте редакциите по-долу за вашия актуализиран въпрос )

Нямате изпълнимия компилатор "gcc4.0" на вашата машина или правилната версия, или инсталиран на място, което python не може да намери/използва. XCode/инструменти за разработчици (които включват GCC ) трябва да е на вашите оригинални инсталационни DVD дискове на OSX.

Тъй като сте достатъчно скромен, за да се наречете начинаещ, ето късче мъдрост... Разрешаването на тази грешка наистина няма нищо общо с уеб разработката в задния край, тъй като това е вашата локална среда за разработка (вашата машина и целият софтуер като той е конфигуриран и инсталиран) това е проблемът. Най-добрият съвет, който имам за дешифриране на gobbledegook като този, е да започнете да търсите в Гугъл ключови думи за неща, за които никога преди не сте чували. Ако бях на твое място, това съобщение за грешка ми крещи „иди и разбере какво по дяволите е gcc4.0. След това, когато знам какво е и какво прави, и защо Python се нуждае от него, тогава разбирам защо python не може да го намери на моя компютър и тогава правя нещо по въпроса." Удовлетворението от разрешаването на този вид проблеми обаче не се случва за всеки, това е сигурно.

Отговорът на всички тези въпроси е следният:psycopg2 е разширение на Python, което е написано на езика C. Много разширения за Python са написани на C, а не на Python, тъй като C е много по-оптимизиран, отколкото някога ще бъде Python. На това всъщност е написан самият интерпретатор на Python. Кодът на езика C трябва да бъде компилиран преди да стане използваем (за разлика от кода на python, който се интерпретира ) и в този случай компилаторът, от който се нуждаете, е gcc4.0. Сега, може би, ако използвате Windows или Linux, компилираната версия на psycopg2 може вече да е налична и няма да имате нужда от инсталиран GCC, тъй като няма да се налага да го компилирате, за да го използвате (той вече ще е компилиран за ти). Но изглежда, че ще трябва да го компилирате сами на OS X и за да направите това, трябва програмата "gcc4.0" да бъде налична в системния PATH, така че скриптът за настройка, който се опитвате да стартирате, да може да намери и го използвайте. В OS X можете да го получите от вашите оригинални инсталационни DVD дискове, които се доставят с вашия компютър. Поставете ги в устройството и намерете програмата за инсталиране на Инструменти за разработчици. След като го инсталирате, трябва да можете да проверите дали GCC 4.0 компилаторът е инсталиран, като се опитате да изпълните командата "gcc4.0" във всеки прозорец на конзолата и да видите дали е инсталиран и във вашия път.

Редактирайте за вашата актуализация

Изглежда, че вече имате добра инсталация на компилатора GCC 4.0! Добра работа. Когато видите това:

>gcc4.0
i686-apple-darwin10-gcc-4.0.1: no input files

Този резултат е, че компилаторът ви казва точната му версия и след това ви казва, че не сте му дали параметри, така че няма да направи нищо за вас. Което е добре, тъй като вашият скрипт за настройка на psycopg2 ще го извика, а не вие ​​директно.

След това изглежда, че psycopg2 очаква, че трябва да имате инсталирани и библиотеки за разработка на PostgreSQL сървър. Тъй като виждам, че сега използвате MacPorts, трябва да можете лесно да инсталирате тези библиотеки с тази команда:

sudo port install postgresql-server-devel

Това трябва да ви осигури липсващия pg_config изпълним файл, който настройката търси.

Дръжте ни в течение за напредъка си!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разрешаване само на роли в потребителския списък на postgres

  2. Docker Compose + Spring Boot + Postgres връзка

  3. PostgreSQL - как да определите дали транзакцията е активна?

  4. „Твърде много връзки“, създадени в postgres при създаване на табло за управление в Pentaho

  5. Индекс на клеймото за време:Функциите в индексния израз трябва да бъдат маркирани като НЕИЗМЕНЯЕМИ