sql >> Database >  >> RDS >> PostgreSQL

Waarom kan ik psycopg2 niet installeren? (Python 2.6.4, PostgreSQL 8.4, OS X 10.6.3)

(Bekijk onderstaande bewerkingen voor uw bijgewerkte vraag )

U hebt het uitvoerbare bestand "gcc4.0" niet op uw computer, of de juiste versie, of geïnstalleerd op een locatie die python niet kan vinden/gebruiken. XCode/Developer Tools (die GCC bevatten ) moet op uw originele OSX-installatie-dvd's staan.

Aangezien je nederig genoeg bent om jezelf een nieuweling te noemen, is hier een stukje wijsheid... Het oplossen van deze fout heeft echt niets te maken met back-end webontwikkeling, aangezien het je lokale ontwikkelomgeving is (je machine en alle software zoals het is geconfigureerd en geïnstalleerd) dat is het probleem. De beste tip die ik heb om gobbledegook op deze manier te ontcijferen, is om te beginnen met Googlen op trefwoorden voor dingen waar je nog nooit van hebt gehoord. Als ik in jouw schoenen stond, schreeuwt deze foutmelding naar me om "ga uit te zoeken wat gcc4.0 is. Als ik dan weet wat het is en wat het doet, en waarom Python het nodig heeft, dan zoek ik uit waarom python kan het niet vinden op mijn computer, en dan doe ik er iets aan." De voldoening van het oplossen van dit soort problemen is echter niet voor iedereen weggelegd, dat is zeker.

Het antwoord op al die vragen is dit:psycopg2 is een python-extensie die is geschreven in de C-taal. Veel extensies voor python zijn geschreven in C, niet in python, omdat C veel meer geoptimaliseerd is dan python ooit zal zijn. Dat is eigenlijk waar de Python-interpreter zelf in is geschreven. C-taalcode moet worden gecompileerd voordat het bruikbaar is (in tegenstelling tot python-code, die wordt geïnterpreteerd ) en in dit geval is de compiler die je nodig hebt gcc4.0. Als je nu Windows of Linux zou gebruiken, zou de gecompileerde versie van psycopg2 misschien al beschikbaar zijn geweest, en zou je GCC niet nodig hebben, omdat je het niet zou hoeven compileren om het te gebruiken (het zou al gecompileerd zijn voor jij). Maar het lijkt erop dat je het zelf moet compileren op OS X, en om dat te doen, moet je het programma "gcc4.0" beschikbaar hebben in het systeem PATH zodat het setup-script dat je probeert uit te voeren kan vinden en gebruik het. Op OS X kun je het krijgen van je originele installatie-dvd's die bij je computer zijn geleverd. Stop ze in de drive en zoek het installatieprogramma van Developer Tools. Als je dat eenmaal hebt geïnstalleerd, zou je moeten kunnen controleren of de GCC 4.0-compiler is geïnstalleerd door te proberen de opdracht "gcc4.0" in een consolevenster uit te voeren en te kijken of het is geïnstalleerd en in je pad staat.

Bewerken voor uw update

Het lijkt erop dat je nu een goede installatie van de GCC 4.0-compiler hebt! Goed werk. Als je dit ziet:

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

Die uitvoer is een compiler die je de exacte versie vertelt en je vervolgens vertelt dat je het geen parameters hebt gegeven, dus het zal niets voor je doen. Dat is oké, aangezien je psycopg2-installatiescript het gaat aanroepen, niet jij rechtstreeks.

Vervolgens lijkt het erop dat psycopg2 verwacht dat u ook PostgreSQL-serverontwikkelingsbibliotheken moet hebben geïnstalleerd. Aangezien ik zie dat je nu MacPorts gebruikt, zou je deze bibliotheken gemakkelijk moeten kunnen installeren met deze opdracht:

sudo port install postgresql-server-devel

Dat zou je je ontbrekende pg_config moeten opleveren uitvoerbaar bestand dat de setup zoekt.

Houd ons op de hoogte van je voortgang!



  1. Laravel Voeg meerdere records in vanuit één formulier

  2. Meerdere rijen enkele tabel bijwerken

  3. MySQL GROUP BY en COUNT

  4. Berichten van abonnees en eigen berichten van gebruikers weergeven