Ketika saya menjalankan perintah berikut:
sudo pip install python-ldap
Saya mendapatkan kesalahan ini:
Dalam file termasuk dari Modul / LDAPObject.c: 9:
Modul / error.h: 8: kesalahan fatal: lber.h: Tidak ada file atau direktori tersebut
Ada ide bagaimana cara memperbaikinya?
usr/bin/
direktori saya dan memperhatikan bahwa saya telahpip, pip-2.7, pip-3.6, and pip-python
melakukannyasudo pip-3.6 install ldap3
dan itu berhasil bagi saya.Jawaban:
The python-ldap didasarkan pada OpenLDAP, sehingga Anda perlu memiliki file pembangunan (header) untuk mengkompilasi modul Python. Jika Anda menggunakan Ubuntu, paket itu disebut
libldap2-dev
.Debian / Ubuntu :
RedHat / CentOS :
sumber
-dev
paket yang hilang (kadang-kadang juga disebut-devel
). Lakukan sajaapt-cache search sasl | grep dev
dan Anda mungkin akan menemukan paket yang tepat - saya kira itulibsasl2-dev
.Untuk menginstal python-ldap berhasil dengan pip, pustaka pengembangan berikut diperlukan (nama paket diambil dari lingkungan ubuntu):
sumber
sudo pip install python-ldap
Pada CentOS / RHEL 6, Anda perlu menginstal:
dan yum juga akan diinstal
cyrus-sasl-devel
sebagai dependensi. Maka Anda dapat menjalankan:sumber
Di Ubuntu tampilannya seperti ini:
sumber
Windows: Saya sepenuhnya setuju dengan jawaban yang diterima, tetapi menggali komentar butuh beberapa saat untuk mendapatkan apa yang saya butuhkan. Saya menemukan masalah khusus ini dengan Reviewboard di Windows menggunakan Bitnami. Untuk memberikan jawaban untuk windows, saya menggunakan tautan ini yang disebutkan dalam komentar:
Kemudian, jalankan perintah berikut
(karena saya punya python 2.7 dan menginstal 32bit pada saat itu)
sumber
"Jangan membabi buta / menginstal perangkat lunak"
Di distro berbasis Ubuntu / Debian, Anda bisa menggunakan
apt-file
untuk menemukan nama paket yang tepat yang menyertakan file header yang hilang.Seperti yang Anda lihat dari output
apt-file search lber.h
, Anda hanya perlu menginstal paketlibldap2-dev
.sumber
Bagi mereka yang memiliki masalah yang sama kehilangan Iber.h di Alpine Linux, dalam gambar buruh pelabuhan yang Anda coba untuk beradaptasi dengan Alpine misalnya.
Paket yang Anda cari adalah: openldap-dev
Jadi lari
apk add openldap-dev
Tersedia dari versi 3.3 hingga Edge
Tersedia untuk Arsitektur armhf dan x86_64.
sumber
Pada openSUSE Anda perlu menginstal paket
openldap2-devel
,cyrus-sasl-devel
,python-devel
danlibopenssl-devel
.zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
sumber
Pada Fedora 22, Anda harus melakukan ini sebagai gantinya:
sumber
Pada OSX, Anda memerlukan alat xcode CLI. Cukup buka terminal dan jalankan:
sumber
Untuk sebagian besar sistem , persyaratan build sekarang disebutkan dalam dokumentasi python-ldap , di bagian "Instalasi".
Jika ada yang hilang untuk sistem Anda (atau sistem Anda sepenuhnya hilang), beri tahu pengelola! (Pada 2018, saya adalah pengelola, jadi komentar di sini sudah cukup. Atau Anda dapat mengirim permintaan tarik atau surat.)
sumber
python3 tidak mendukung python-ldap. Alih-alih menginstal ldap3.
sumber
Untuk memperbaiki kesalahan karena ketergantungan untuk menginstal python-ldap: Windows 7/10
unduh file whl
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap .
python 3.6 sesuai dengan
Menyebarkan file di:
instal dengan
sumber
Dalam FreeBSD 11:
sumber
Sebagai solusi umum untuk menginstal paket Python dengan dependensi biner [1] di Debian / Ubuntu:
Anda harus memeriksa nama paket Python Anda di Ubuntu versus PyPI. Dalam hal ini mereka sama.
Jelas tidak berfungsi jika paket Python tidak ada dalam repo Ubuntu.
[1] Saya mempelajari trik ini ketika mencoba
pip install matplotlib
di Ubuntu.sumber
Untuk buruh pelabuhan alpine
jika versi python adalah 3 dan di atas coba
sumber
Jika Anda bekerja dengan mesin windows, Anda dapat menemukan roda 'python-ldap' di Tautan ini dan kemudian Anda dapat menginstalnya
sumber
bagi mereka yang menggunakan linux alphine, apk tambahkan openldap-dev
sumber
sumber