次のコマンドを実行すると:
sudo pip install python-ldap
私はこのエラーを受け取ります:
Modules / LDAPObject.c:9からインクルードされたファイル:
Modules / errors.h:8:致命的なエラー:lber.h:そのようなファイルまたはディレクトリはありません
これを修正する方法はありますか?
次のコマンドを実行すると:
sudo pip install python-ldap
私はこのエラーを受け取ります:
Modules / LDAPObject.c:9からインクルードされたファイル:
Modules / errors.h:8:致命的なエラー:lber.h:そのようなファイルまたはディレクトリはありません
これを修正する方法はありますか?
回答:
python-LDAPを使用すると、Pythonのモジュールをコンパイルするために開発ファイル(ヘッダ)を持っている必要がありますので、OpenLDAPのに基づいています。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
-dev
パッケージ(時にはとも呼ばれます)の兆候です-devel
。ただやればapt-cache search sasl | grep dev
、あなたはおそらく正しいパッケージを見つけるでしょう-私はそれを推測するでしょうlibsasl2-dev
。
python-ldapをpipで正常にインストールするには、次の開発ライブラリが必要です(ubuntu環境から取得したパッケージ名)。
sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
sudo pip install python-ldap
Ubuntuでは次のようになります。
$ sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
$ sudo pip install python-ldap
Windows:受け入れられた答えには完全に同意しますが、コメントを掘り下げるには、必要なものを理解するのにしばらく時間がかかりました。Bitnamiを使用して、Windowsのレビューボードでこの特定の問題に遭遇しました。Windowsの答えを出すために、コメントに記載されている次のリンクを使用しました。
その後、次のコマンドを実行しました
easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl
(Python 2.7と32ビットのインストールがあったため)
easy_install python-ldap
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
openSUSEの上では、パッケージをインストールする必要がありopenldap2-devel
、cyrus-sasl-devel
、python-devel
とlibopenssl-devel
。
zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
Fedora 22では、代わりにこれを行う必要があります:
sudo dnf install python-devel
sudo dnf install openldap-devel
OSXでは、xcode CLIツールが必要です。ターミナルを開いて実行するだけです:
xcode-select --install
以下のためにほとんどのシステムで、ビルドの要件は、現在に記載されているのpython-LDAPのドキュメント「インストール」セクションで、。
システムに欠けているものがある場合(またはシステムが完全に欠けている場合)は、メンテナに知らせてください!(2018年現在、私はメンテナーなので、ここのコメントで十分です。または、プルリクエストまたはメールを送信できます。)
依存関係によるエラーを修正してpython-ldapをインストールする:Windows 7/10
whlファイルをダウンロード
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap。
Python 3.6スーツ
python_ldap-3.2.0-cp36-cp36m-win_amd64.whl
次の場所にファイルをデプロイします。
c:\ python36 \ Scripts \
それをインストールする
python -m pip install python_ldap-3.2.0-cp36-cp36m-win_amd64.whl
FreeBSD 11の場合:
pkg install openldap-client # for lber.h
pkg install cyrus-sasl # if you need sasl.h
pip install python-ldap
Debian / Ubuntuにバイナリ依存[1]のPythonパッケージをインストールするための一般的なソリューションとして:
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とPyPI では、Pythonパッケージの名前を確認する必要があります。この場合、それらは同じです。
PythonパッケージがUbuntuリポジトリにない場合、明らかに機能しません。
[1]私はpip install matplotlib
Ubuntuで試してみたときにこのトリックを学びました。
高山の港湾労働者のため
apk add openldap-dev
Pythonバージョンが3以上の場合
pip install python3-ldap
alphine linuxを使用している人のために、apkはopenldap-devを追加します
sudo apt-get install build-essential python3-dev python2.7-dev libldap2-dev libsasl2-dev slapd ldap-utils python-tox lcov valgrind
usr/bin/
を使用していて、自分のディレクトリを調べたところ、自分が持っているpip, pip-2.7, pip-3.6, and pip-python
ことに気付いたので、うまくいきsudo pip-3.6 install ldap3
ました。