5

Heroku は python-ldap をサポートしていないようです。requirements.txt ファイルに「python-ldap==2.3.13」を指定して pip をインストールすると、Heroku で次のエラーが発生して失敗しました。

gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DHAVE_LIBLDAP_R -DHAVE_SASL -DHAVE_TLS -DLDAPMODULE_VERSION=2.3.13 -IModules -I/usr/local/ openldap-2.3/include -I/usr/include/sasl -I/usr/local/include/python2.7 -c Modules/LDAPObject.c -o build/temp.linux-x86_64-2.7/Modules/LDAPObject.o

Modules/LDAPObject.c:18:18: エラー: sasl.h: そのようなファイルまたはディレクトリはありません

Heroku には python-ldap に必要なライブラリがないようで、「pip」以外の依存ライブラリをインストールする方法があるかどうかはわかりません。

Heroku の Python/Django スタックで LDAP 認証をサポートするために推奨されるソリューションは何ですか?

よろしくお願いいたします。

4

3 に答える 3

3

好きなライブラリでベンダーが提供するカスタム ビルド パックを作成できます。https://github.com/cirlabs/heroku-buildpack-geodjangoを見てください。Curl 経由でライブラリがインストールされます。

于 2012-05-09T18:20:07.720 に答える
2

この質問が古いことは知っていますが、同じ問題があり、Google が私をここに連れてきました。私が見つけたものを書いて、同じ問題を抱えていて現在有効な解決策を望んでいる人々を助けることができるかもしれません.

@Schneems が言ったように、heroku を使用して独自のビルドパックを作成し、カスタム環境を追加できます。

python-ldap を含むカスタム ビルドパックを作成することはできますが、ゼロからカスタム ビルドパックを作成することは、実際には一部のオプションではないため、公式の python ビルドパックhttps://github.com/heroku/heroku-buildpack-pythonをフォークできます。 @damgad のように python-ldap を追加します。

ここでの問題は、公式の python/buildpack の最近のバージョンと比較して、@damgad からのリポジトリが古くなっていることです。(このコメントの時点で)

@damgadコードを使用し、独自のフォークを作成した人から、このプルリクエスト(現在は閉鎖)https://github.com/heroku/heroku-buildpack-python/pull/271を見つけましたhttps://github.com/josegonzalez /heroku-buildpack-python .

使ってみましたが、彼のレポは古く、アプリのデプロイ中にエラーが発生しました。

そのため、現在公式の heroku/python ビルドパックの独自のフォークを作成し、 https://github.com/josegonzalez/heroku-buildpack-pythonを追加しました。コード、私が得ていたいくつかのエラーを修正しました。現在、このビルドパックは python-ldap https://github.com/manuggz/heroku-buildpack-pythonで動作しています。

このビルドパックは python3.6 をサポートしており、それだけで十分です。

Tl;dr python-ldap を使用する場合 (または公式ビルドパックをフォークして独自に作成する場合)は、この更新されたビルドパックを使用する必要があります。

$ heroku buildpacks:set https://github.com/manuggz/heroku-buildpack-python 
于 2018-05-17T23:46:00.597 に答える
1

をサポートするherokuビルドパックを最近作成しましたpython-ldap。私のgithub repoで利用できます。

それを機能させるには、次のように環境変数を指定するだけです。

heroku config:set BUILDPACK_URL=https://github.com/damgad/heroku-buildpack-python-ldap.git
于 2014-11-06T10:10:17.817 に答える