sql >> Database >  >> RDS >> PostgreSQL

python pip install psycopg2 installatiefout

Het geaccepteerde antwoord hier is correct (behalve dat ik denk dat het ln -fs moet zijn, sterker nog, ik denk dat het zelfs het risico kan lopen om je besturingssysteem te destabiliseren als dat niet het geval is (?)). Nadat ik hier tegenaan ben gelopen en ermee om ben gegaan, wil ik gewoon de volledige oplossing voor dit probleem verzamelen en het andere lib-probleem (libcrypto.1.0.0.dylib) dat je tegenkomt voor Postgres 9.* op Mountain Lion en Snow Leopard, en misschien andere systemen. Dit weerhield me er ook van om psql te gebruiken, dat klaagde over dezelfde twee bibliotheken.

In wezen zijn er twee nieuwere bibliotheken nodig in /usr/lib , libssl en libcrypto. U kunt de benodigde versies van deze bibliotheken vinden in de Postgres lib-directory.

  • Als je OSX gebruikt en de Enterprise DB-versie van Postgres hebt geïnstalleerd, staat deze in /Library/PostgreSQL/9.2/lib .
  • Zoek voor andere installatietypen van Postgres naar de lib-map in de Postgress-installatiemap, bijvoorbeeld voor Postgress.app, zoek de lib-map in /Applications/Postgres.app/Contents/MacOS/lib ,
  • om ergens in /usr/local/Cellar ,
  • op *nix, waar je installatie ook is. Maar kijk eerst op *nix of je distro latere versies heeft, gewoon via de pakketbeheerder.

Kopieer eerst de laatste van deze twee bibliotheken van de Postgres lib-directory naar /usr/lib :

sudo cp /Library/PostgreSQL/9.2/lib/libssl.1.0.0.dylib /usr/lib
sudo cp /Library/PostgreSQL/9.2/lib/libcrypto.1.0.0.dylib /usr/lib

Werk (of maak) vervolgens de /usr/lib-symbolen voor deze bibliotheken bij. Hoe dan ook, het commando is ln -fs :

sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib

Moet worden gerepareerd. Vrij zeker dat ln -fs beter is dan het verwijderen van de symbolische link en het opnieuw maken ervan, dus er is minder kans dat libssl onvindbaar is door iets dat het nodig heeft voor de tijd dat het niet aanwezig is (het doet hetzelfde; het verwijdert eerst de symbolische link als het er al, alleen sneller dan je het kunt typen). Altijd op uw hoede voor geknoei met /usr/lib.



  1. Laatste versies, edities en SQL Server-geschiedenis van SQL Server

  2. Procedure aanroepen zonder parameter als tabeltype uit een Java-klasse

  3. Hoe kan ik bestanden extraheren uit een Oracle BLOB-veld?

  4. Een kolomtype wijzigen in langere strings in rails