biegnę
sudo pip install psycopg2
i otrzymuję pakiet danych wyjściowych, który wygląda następująco:
cc -DNDEBUG -g -fwrapv -Os .....
.....
cc -DNDEBUG -g -fwrapv -Os .....
.....
A na końcu mówi:
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'cc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip_build_root/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip-uE3thn-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip_build_root/psycopg2
Storing debug log for failure in /Users/Tyler/Library/Logs/pip.log
Uruchamianie easy_install lub robienie tego ze źródła powoduje na końcu ten sam błąd (część dotycząca biblioteki nie została znaleziona dla -lssl).
Uruchomienie instalacji brew (lub aktualizacji) openssl daje poniższe wyniki
$ brew upgrade openssl
Error: openssl-1.0.1h already installed
Czy ktoś może mi pomóc?
python
postgresql
psycopg2
tscizzle
źródło
źródło
Odpowiedzi:
Dla każdego, kto szuka rozwiązania tego problemu w systemie macOS Sierra 10.12 (lub nowszym, najprawdopodobniej): naprawiłem to, instalując narzędzia wiersza poleceń:
Po tym
pip install psycopg2
powinno działać.Jeśli tak się nie stanie, możesz również spróbować połączyć się z plikiem brew's openssl:
z openssl zainstalowanym przez brew. Zauważ, że
brew link openssl --force
już nie działa:Jak @macho wskazuje poniżej, jeśli to nadal nie działa, może być konieczne skorzystanie z
--no-cache
opcji pip, npźródło
xcode-select --install
może wystarczyć, to powinno korzystać z dostarczonego systemussl
. Zaktualizuję swój komentarz powyżej.pip install psycopg2
i właśnie otrzymałem ten sam komunikat o błędzie: „Nie znaleziono biblioteki ld: dla -lssl”.xcode-select --install
naprawiono problem.xcode-select --install
naprawiono problem w Sierra dla mnie, również w środowiskach wirtualnychenv LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Zainstalowałem OpenSSL z brew (
brew install openssl
)Pracowały dla mnie:
źródło
Podczas biegu
brew link openssl
otrzymuję następujący komunikat:Postępując zgodnie z tą radą, oto
pip
polecenie, którego musisz użyć:źródło
W systemie MacOS Catalina 10.15.4 jedyną komendą, która działała dla mnie, była:
źródło
U mnie zadziałała podpowiedź podana w poleceniu linku do openssl,
źródło
Na Mojave dodałem je do .bash_profile
był wtedy w stanie zainstalować psycopg 2.8.3 w pythonie 3.7.4 virtualenv.
Dzieje się tak po ponownej instalacji xcode i narzędzi wiersza poleceń.
Wszystkie powyższe odpowiedzi pomogły!
źródło
To jest problem nowej wersji macOs, w której pip nie może zainstalować
cryptography
. Rozwiązaniem mojego problemu jest dostarczenie env do polecenia instalacji:Można wymienić
<YOUR COMMAND HERE>
zpip install cryptography
, lubpip install <SOMETHING THAT REQUIRES cryptography>
na przykład.Kredyt do tego artykułu: Naprawianie błędu krytycznego macOS Sierra: Nie znaleziono pliku „openssl / opensslv.h” lub „openssl / aes.h”
źródło
Używając Fisha, następujące dwa polecenia rozwiązały ten problem po zainstalowaniu OpenSSL z Homebrew.
Użyj,
brew info openssl
aby uzyskać aktualne informacje.źródło
Niedawno miałem ten problem w High Sierra, właśnie zainstalowałem Python 3.7 w virtualenv.
Rozwiązaniem jest użycie późniejszej wersji psycopg2. Wersja 2.7.7 zadziałała, a 2.7.1 nie.
źródło
Zamiast instalować
psycopg2
, zainstalujpsycopg2-binary
od tych samych autorów:Oto, co mówi dokumentacja o tym pakiecie PyPI:
źródło
Miałem ten problem na Mojave. Mojave nie tworzy katalogu / usr / include, który musi zainstalować psycopg2. Nie było to oczywiste. Rozwiązanie znalazłem tutaj: Jak zaktualizować Xcode z wiersza poleceń , który odwołuje się do: https://forums.developer.apple.com/thread/104296
źródło
Miałem ten sam błąd i udało mi się go rozwiązać po zainstalowaniu pip cythona
źródło
Uruchomiłem PyCharm ze środowiska Conda, rozwiązałem mój problem za pomocą:
źródło
Zainstalowałem OpenSSL używając MacPorts, dlatego katalogi nie są takie jak Brew.
Katalogi znalazłem wykonując:
Następnie wyeksportowałem zmienne:
Być może będziesz musiał:
źródło
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
pracował dla mnie
źródło
Udało mi się to naprawić za pomocą:
Nie jestem pewien, czym różni się to od dezinstalacji / aktualizacji naparu, które zrobiłem na OpenSSL we wcześniejszych próbach. Moje założenie jest takie, że te operacje pozostawiły część „wadliwych” bibliotek współdzielonych, które uniemożliwiały to działanie. Zauważ, że rozwiązało to również problemy z instalacją modułu kryptograficznego Pythona.
źródło