2016-09-29 31 views
20

Pracuję nad projektem jednego z moich wykładów i muszę pobrać pakiet psycopg2, aby pracować z bazą danych PostgreSQL w użyciu. Niestety, kiedy próbuję zainstalować psycopg2, pojawia się następujący komunikat błędu:Nie można zainstalować pakietu psycopg2 poprzez instalację pip ... Czy to z powodu Sierra?

ld: library not found for -lssl 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
error: command '/usr/bin/clang' failed with exit status 1 
ld: library not found for -lssl 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
error: command '/usr/bin/clang' failed with exit status 1 

Czy ktoś wie, dlaczego tak się dzieje? Czy to dlatego, że Sierra nie obsługiwała niektórych pakietów? Z góry dziękuję!

Odpowiedz

81

naprawiłem to przez zainstalowanie narzędzia wiersza poleceń

xcode-select --install 

następnie zainstalowanie OpenSSL poprzez Homebrew i ręcznie łącząc mój homebrew zainstalowany OpenSSL do pip:

env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2 

na MacOS Sierra 10.12.1

+0

Pracowałem dla mnie dzięki! – stedotmartin

+0

Pracowałem! Dzięki. :) – Paul

+4

Instalacja xcode była wystarczająca dla mnie, aby to działało. Dobrze wyglądać. –

0

Wygląda na to, że pakiet openssl nie jest zainstalowany. Spróbuj ponownie zainstalować i ponownie wykonać pip install. Nie jestem użytkownikiem macos, ale uważam, że brew upraszcza zarządzanie pakietami na tej platformie.

Może być również konieczne zainstalowanie pakietów programistycznych Python i postgresql.

2
  1. Zainstaluj/zaktualizuj narzędzia programistyczne Xcode

    xcode-select --install 
    
  2. zapytań PostgreSQL ścieżka

    find/-name pg_config 2>/dev/null 
    
  3. Install psycopg2, użyć ścieżki co masz w kroku 2. Kopalnia była '/usr/local/Cellar/postgresql/9.5.0/bin/pg_config'

    PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/ pip install psycopg2 
    
1

To działa na mnie (na terminalu):

find/-name pg_config 2>/dev/null 

następnie dodać ścieżka:

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

wersja OS: MacOS Sierra

I hop To pomaga.

+1

Zakłada się, że zainstalowałeś Postgres.app na swoim macu i nie używasz portów mac, home brew, instalatora EnterpriseDB lub innego sposobu pakowania/instalowania twojego serwera PostgreSQL na twoim macu, tak? – scot

+0

Och, tak samo pierwotne pytanie dotyczyło braku biblioteki -lssl, a następnie "clang", ale nie narzędzia pg_config. Clang jest w Xcode, a druga w bibliotece openssl. użytkownik @zganger ma właściwą odpowiedź na to pytanie. (Mam tutaj szukanie problemu pg_config, więc twoja odpowiedź pomogła mi tonę, ale nie jest to pytanie. – scot