PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

python pip zainstalować błąd instalacji psycopg2

Przyjęta tutaj odpowiedź jest prawidłowa (z wyjątkiem, że myślę, że musi to być ln -fs , w rzeczywistości myślę, że może to nawet spowodować destabilizację systemu operacyjnego, jeśli nie (?)). Po wpadnięciu na to i poradzeniu sobie z tym chcę po prostu zebrać pełne rozwiązanie tego problemu i innego problemu z bibliotekami (libcrypto.1.0.0.dylib), na który natrafisz w Postgres 9.* na Mountain Lion i Snow Leopard, oraz być może inne systemy. To również zablokowało mi uruchamianie psql, który narzekał na te same dwie biblioteki.

Zasadniczo w /usr/lib potrzebne są dwie nowsze wersje bibliotek , libssl i libcrypto. Potrzebne wersje tych bibliotek można znaleźć w katalogu lib Postgres.

  • Jeśli masz OSX i zainstalowałeś Postgres w wersji Enterprise DB, będzie to /Library/PostgreSQL/9.2/lib .
  • W przypadku innych typów instalacji Postgresa poszukaj katalogu lib w katalogu instalacyjnym Postgress, np. dla Postgress.app znajdź katalog lib w /Applications/Postgres.app/Contents/MacOS/lib ,
  • do zaparzenia gdzieś w /usr/local/Cellar ,
  • na *nix, gdziekolwiek jest twoja instalacja. Ale zobacz najpierw *nix, jeśli twoja dystrybucja ma nowsze wersje tylko przez menedżera pakietów.

Najpierw skopiuj najnowszą z tych dwóch bibliotek z katalogu lib Postgres do /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

Następnie zaktualizuj (lub utwórz) dowiązania symboliczne /usr/lib dla tych bibliotek. Tak czy inaczej, polecenie to 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

Powinien zostać naprawiony. Z pewnością ln -fs jest lepsze niż usuwanie dowiązania symbolicznego i ponowne jego tworzenie, więc istnieje mniejsze prawdopodobieństwo, że libssl będzie nie do znalezienia przez coś, co go potrzebuje na czas, gdy nie jest obecne (robi to samo; najpierw usuwa dowiązanie symboliczne, jeśli jest już tam, tylko szybciej niż możesz to wpisać). Zawsze uważaj na zabawę w /usr/lib.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa Acosh() w PostgreSQL

  2. Uzyskaj czas wykonania zapytania PostgreSQL

  3. Jak wykonać kopię zapasową funkcji tylko w Postgresie

  4. Właściciel bazy postgresql nie może uzyskać dostępu do bazy danych - Nie znaleziono relacji.

  5. Jak wykonać kopię zapasową i przywrócić bazę danych PostgreSQL