web-dev-qa-db-ja.com

python-ldapがインストールできない

次のコマンドを実行すると

Sudo pip install python-ldap

私はこのエラーが出ます:

Modules/LDAPObject.cからインクルードされているファイルの中に9:

モジュール/ errors.h:8:致命的エラー:lber.h:そのようなファイルまたはディレクトリはありません

これを修正する方法はありますか?

215
VacuumTube

website はpython-ldapがOpenLDAPをベースにしていると言っているので、Pythonモジュールをコンパイルするためには開発ファイル(ヘッダ)が必要です。 Ubuntuを使用している場合、パッケージは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
336
AndiDog

Pipを使用してpython-ldapを正常にインストールするには、次の開発ライブラリが必要です(パッケージ名は、ubuntu環境から取られています)。

Sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
142
jmu

CentOS/RHEL 6では、インストールする必要があります。

Sudo yum install python-devel
Sudo yum install openldap-devel

そしてyumは依存関係としてcyrus-sasl-develもインストールします。その後、実行することができます:

pip-2.7 install python-ldap
70
Banjer

Ubuntuでは、このようになります。

 $ Sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
 $ Sudo pip install python-ldap
31
Jeff Sheffield

ウィンドウズ:私は完全に受け入れられた答えに同意するが、コメントを掘り下げることは私が必要としているものの本質に到達するために時間がかかりました。私はBitnamiを使ってWindows上のReviewboardでこの特定の問題に出会いました。その時に窓に答えを与えるために、私はコメントで言及されたこのリンクを使いました:

その後、以下のコマンドを実行してください。

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

(私はPython 2.7と32bitインストールを持っていたので)

easy_install python-ldap
13
archangel76

「盲目的にソフトウェアを削除/インストールしないでください」

Ubuntu/Debianベースのディストリビューションでは、apt-fileを使って、足りないヘッダーファイルを含む正確なパッケージの名前を見つけることができます。

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

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

apt-file search lber.hの出力からわかるように、パッケージlibldap2-devをインストールするだけです。

Sudo apt-get install libldap2-dev
9

Alpine LinuxでIber.hが見つからないという同じ問題を抱えている人のために、例えばAlpineに適応しようとしているdockerイメージで。

あなたが探しているパッケージはopenldap-devです。

だから走る

apk add openldap-dev

バージョン3.3からEdgeまで利用可能

Armhfとx86_64の両方のアーキテクチャで利用可能です。

6
Ilhicas

Fedora 22では、代わりにこれを行う必要があります。

Sudo dnf install python-devel
Sudo dnf install openldap-devel
4
chfw

OpenSUSEでは、パッケージopenldap2-develcyrus-sasl-develpython-develおよびlibopenssl-develをインストールする必要があります。

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

3

OSXでは、xcode CLIツールが必要です。ターミナルを開いて実行するだけです。

xcode-select --install
2
Andy Fraley

python3はpython-ldapをサポートしません。代わりにldap3をインストールしてください。

2
Agnel Amodia

FreeBSD 11では:

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

Debian/Ubuntuにバイナリ依存のPythonパッケージをインストールするための一般的な解決策として[1]:

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

あなたは buntu上のあなたのPythonパッケージの名前 とPyPIをチェックする必要があるでしょう。この場合、それらは同じです。

PythonパッケージがUbuntuリポジトリに入っていないと、明らかにうまくいきません。

[1] Ubuntuでpip install matplotlibを試みたときにこのトリックを学びました。

1
david.libremone

ほとんどのシステムでは、ビルド要件は "インストール"セクションの python-ldapのドキュメント に記載されています。

あなたのシステムに何か不足している(あるいはあなたのシステムが完全に不足している)場合は、メンテナに知らせてください! (2018年現在、私はメンテナなので、ここでのコメントで十分なはずです。あるいは、プルリクエストやメールを送ることもできます。)

1
Petr Viktorin

あなたがWindowsマシンで作業しているなら、あなたはこれに 'python-ldap'ホイールを見つけることができます Link そしてそれからあなたはそれをインストールすることができます

0
pietà

alphine linuxを使っている人のために、apk add openldap-dev

0
Vivin Veerali

アルパインドッカー用

apk add openldap-dev

pythonのバージョンが3以上の場合

pip install python3-ldap
0
Akhilraj N S