Po uruchomieniu następującego polecenia:
sudo pip install python-ldap
Otrzymuję ten błąd:
W pliku zawartym w Modules / LDAPObject.c: 9:
Moduły / błędy. H: 8: błąd krytyczny: lber.h: brak takiego pliku lub katalogu
Wszelkie pomysły, jak to naprawić?
usr/bin/
katalogu i zauważyłem, żepip, pip-2.7, pip-3.6, and pip-python
tak zrobiłemsudo pip-3.6 install ldap3
i zadziałało dla mnie.Odpowiedzi:
Python-ldap jest oparte na OpenLDAP, więc trzeba mieć pliki Rozwoju (nagłówki), aby skompilować moduł Pythona. Jeśli korzystasz z Ubuntu, pakiet jest wywoływany
libldap2-dev
.Debian / Ubuntu :
RedHat / CentOS :
źródło
-dev
pakietów (czasem także nazwanych-devel
). Po prostu zrób,apt-cache search sasl | grep dev
a prawdopodobnie znajdziesz odpowiedni pakiet - tak sądzęlibsasl2-dev
.Aby pomyślnie zainstalować python-ldap z pipem, potrzebne są następujące biblioteki programistyczne (nazwy pakietów pobrane ze środowiska ubuntu):
źródło
sudo pip install python-ldap
W CentOS / RHEL 6 musisz zainstalować:
i yum zostanie również zainstalowany
cyrus-sasl-devel
jako zależność. Następnie możesz uruchomić:źródło
W Ubuntu wygląda to tak:
źródło
Windows: całkowicie zgadzam się z przyjętą odpowiedzią, ale przeglądanie komentarzy zajęło mi trochę czasu, aby dojść do sedna tego, czego potrzebowałem. Natknąłem się na ten konkretny problem z przeglądarką w systemie Windows przy użyciu Bitnami. Aby udzielić odpowiedzi dla systemu Windows, skorzystałem z linku wspomnianego w komentarzach:
Następnie wykonaj następujące polecenia
(ponieważ miałem Python 2.7 i 32-bitową instalację)
źródło
„Nie ślepo usuwaj / instaluj oprogramowania”
W dystrybucji opartej na Ubuntu / Debian możesz użyć
apt-file
nazwy dokładnego pakietu zawierającego brakujący plik nagłówka.Jak widać z danych wyjściowych
apt-file search lber.h
, wystarczy zainstalować pakietlibldap2-dev
.źródło
Dla tych, którzy mają ten sam problem z brakującym plikiem Iber.h w Alpine Linux, na obrazie dokera, który próbujesz na przykład dostosować do Alpine.
Pakiet, którego szukasz, to: openldap-dev
Więc biegnij
apk add openldap-dev
Dostępne od wersji 3.3 do Edge
Dostępne dla architektur armhf i x86_64.
źródło
Na openSUSE należy zainstalować pakiety
openldap2-devel
,cyrus-sasl-devel
,python-devel
ilibopenssl-devel
.zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
źródło
W Fedorze 22 musisz to zrobić zamiast tego:
źródło
W systemie OSX potrzebujesz narzędzi CLI xcode. Wystarczy otworzyć terminal i uruchomić:
źródło
W przypadku większości systemów wymagania dotyczące kompilacji są teraz wymienione w dokumentacji python-ldap w sekcji „Instalowanie”.
Jeśli brakuje czegoś w systemie (lub brakuje go całkowicie), powiadom o tym opiekuna! (Od 2018 r. Jestem opiekunem, więc tutaj powinien wystarczyć komentarz. Możesz też wysłać prośbę lub wiadomość e-mail.)
źródło
python3 nie obsługuje python-ldap. Raczej zainstaluj ldap3.
źródło
Aby naprawić błąd związany z zależnościami, aby zainstalować python-ldap: Windows 7/10
pobierz plik whl
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap .
python 3.6 garnitur z
Wdróż plik w:
zainstaluj za pomocą
źródło
W FreeBSD 11:
źródło
Jako ogólne rozwiązanie do instalowania pakietów Pythona z zależnościami binarnymi [1] na Debian / Ubuntu:
Będziesz musiał sprawdzić nazwę swojego pakietu Python na Ubuntu kontra PyPI. W tym przypadku są takie same.
Oczywiście nie działa, jeśli pakiet Python nie znajduje się w repozytoriach Ubuntu.
[1] Nauczyłem się tej sztuczki, próbując
pip install matplotlib
na Ubuntu.źródło
Dla alpejskiego dokera
jeśli wersja Pythona to 3 i więcej, spróbuj
źródło
Jeśli pracujesz na komputerach z systemem Windows, w tym łączu możesz znaleźć koło „python-ldap”, a następnie je zainstalować
źródło
dla tych, którzy używają alfa linuxa, apk dodaj openldap-dev
źródło
źródło