Python-ldap'yi yükleyemiyorum


265

Aşağıdaki komutu çalıştırdığımda:

sudo pip install python-ldap

Bu hatayı alıyorum:

Modules / LDAPObject.c: 9 dosyasındaki dosyada:

Modüller / hatalar.h: 8: ölümcül hata: lber.h: Böyle bir dosya veya dizin yok

Bunu nasıl düzeltebileceğine dair bir fikrin var mı?


1
Benim için böyle düzelttim. Bir Amazon EC2-Derece çıkıyorum ve benim girdi usr/bin/dizin ve ben fark ettim pip, pip-2.7, pip-3.6, and pip-pythonyaptım bu yüzden sudo pip-3.6 install ldap3ve bu benim için çalıştı.
Kyle Bridenstine

1
@KyleBridenstine python-ldap, ldap3 ile aynı şey değildir .
David Mulder

Yanıtlar:


427

Piton-ldap Python modülü derlemek amacıyla gelişim dosyaları (başlıklar) olması gerekir, böylece OpenLDAP dayanmaktadır. Ubuntu'daysanız, paket çağrılır libldap2-dev.

Debian / Ubuntu :

sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev

RedHat / CentOS :

sudo yum install python-devel openldap-devel

2
Bunun için teşekkürler. Dahası artık sasl.h ile başarısız oluyor böyle bir dosya veya dizin yok
VacuumTube

68
@VacuumTube: Eksik başlıklar neredeyse her zaman eksik -devpaketler (bazen de adlandırılır -devel) için bir işarettir . Sadece yap apt-cache search sasl | grep devve muhtemelen doğru paketi bulacaksın - sanırım libsasl2-dev.
AndiDog

5
Windows kullanıcıları için her şey :( Aynı hata, şu ana kadar çözüm yok
13'te Shailen

4
Windows üzerinde kaynaktan derlemek zorunda değilsiniz. Kurulumculardan birini pypi.python.org/pypi/python-ldap adresinden kullanmanız yeterlidir .
Semmel

3
Ayrıca, Windows kullanıcıları bir sanal ağa yüklemek için belirtilen .msi yükleyicisini @Semmel'i ayıklayabilir: Python- ldap'ı derleme yapmadan Windows'ta bir python 2.7 sanalenv üzerine nasıl yükleyebilirim (bkz. Güncelleme 2)
Dave

143

Python-ldap'ı pip ile başarıyla kurmak için aşağıdaki geliştirme kitaplıklarına ihtiyaç vardır (ubuntu ortamından alınan paket adları):

sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev

Teşekkürler. tüm ihtiyacınız olan bu. sonra koşarsınızsudo pip install python-ldap
Sudipta Basak

71

CentOS / RHEL 6'da şunları kurmanız gerekir:

sudo yum install python-devel
sudo yum install openldap-devel

ve yum da cyrus-sasl-develbağımlılık olarak yüklenecek . Sonra çalıştırabilirsiniz:

pip-2.7 install python-ldap

32

Ubuntu'da şöyle görünür:

 $ sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
 $ sudo pip install python-ldap

15

Pencereler: Kabul edilen cevaba tamamen katılıyorum, ancak yorumları incelemek ihtiyacım olan ete ulaşmak için biraz zaman aldı. Bitnami'yi kullanarak Windows'ta Reviewboard ile bu özel sorunla karşılaştım. O zaman pencereler için bir cevap vermek için, yorumlarda belirtilen bu bağlantıyı kullandım:

Ardından, aşağıdaki komutları yürütün

easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl

(çünkü python 2.7 ve 32bit yüklemem vardı)

easy_install python-ldap


12

"Yazılımı körü körüne kaldırmayın / kurmayın"

Ubuntu / Debian tabanlı bir dağıtımda, apt-fileeksik başlık dosyasını içeren tam paketin adını bulmak için kullanabilirsiniz .

# do this once
sudo apt-get install apt-file
sudo apt-file update

$ apt-file search lber.h
libldap2-dev: /usr/include/lber.h

Çıkışından görebileceğiniz gibi apt-file search lber.h, sadece paketi yüklemeniz gerekir libldap2-dev.

sudo apt-get install libldap2-dev

2
Bu gerçekten en üstte olmalı. Son derece yararlı.
Bobort

Buna eşdeğer bir CentoOS var mı?
Tomislav Urban

11

Alpine Linux'ta aynı Iber.h sorununu yaşayanlar için, örneğin Alpine'e adapte etmeye çalıştığınız bir docker görüntüsünde.

Aradığınız paket: openldap-dev

Yani koş

apk add openldap-dev

3.3'ten Edge'e kadar mevcut

Armhf ve x86_64 Mimarileri için kullanılabilir.


Alp bazlı görüntüler için iyi. Teşekkürler.
rozacek

4

OpenSUSE sitesinde paketleri yüklemeniz gerekir openldap2-devel, cyrus-sasl-devel, python-develve libopenssl-devel.

zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel


4

Fedora 22'de bunun yerine şunları yapmanız gerekir:

sudo dnf install python-devel
sudo dnf install openldap-devel

F25 için hala geçerli
Jerther

2

OSX'te xcode CLI araçlarına ihtiyacınız vardır. Sadece bir terminal açın ve çalıştırın:

xcode-select --install

2

İçin en sistemleri , yapı gereksinimleri şimdi bahsedilmektedir python-ldap belgelerine "Yükleme" bölümünde.

Sisteminiz için bir şey eksikse (veya sisteminiz tamamen eksikse) lütfen bakıcıya bildirin! (2018 itibariyle bakıcıyım, bu yüzden burada bir yorum yeterli olmalı. Veya bir çekme isteği veya posta gönderebilirsiniz.)


Teşekkürler, python3 çalıştırıyorsanız, python-devel yerine python3-devel'e ihtiyacınız olacağını belirtmek gerekir.
Jamie


2

Python-ldap'yi yükleme bağımlılıkları nedeniyle oluşan hatayı düzeltmek için: Windows 7/10

whl dosyasını indir

http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap .

python 3.6 ile takım elbise

python_ldap-3.2.0-cp36-cp36m-win_amd64.whl

Dosyayı şuraya dağıt:

C: \ python36 \ Script \

ile yükle

python -m pip install python_ldap-3.2.0-cp36-cp36m-win_amd64.whl

1

FreeBSD 11'de:

pkg install openldap-client # for lber.h
pkg install cyrus-sasl # if you need sasl.h
pip install python-ldap

1

Debian / Ubuntu'ya ikili bağımlılıkları olan [1] Python paketlerini kurmak için genel bir çözüm olarak:

sudo apt-get build-dep python-ldap
# installs system dependencies (but not the package itself)
pew workon my_virtualenv # enter your virtualenv
pip install python-ldap

Ubuntu'daki PyPI'ye karşı Python paketinizin adını kontrol etmeniz gerekecek . Bu durumda aynılar.

Açıkçası Python paketi Ubuntu depolarında değilse çalışmaz.

[1] Bu hileyi pip install matplotlibUbuntu üzerinde çalışırken öğrendim .


1

Alp liman işçisi için

apk add openldap-dev

python sürümü 3 ve üzeri ise deneyin

pip install python3-ldap



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.