libxml2 / libxsltカスタムインストール場所を持つlxmlが正しい場所を見つけることができません。

libxml2 / libxsltカスタムインストール場所を持つlxmlが正しい場所を見つけることができません。

私はCentOS 6.5を使用しており、リポジトリで利用可能なものよりも最新のPython、lxml、libxml2、libxslt2を使用したいと思います。

そのため、libxml2、libxslt2、python 2.7.8を最初からビルドし、すべてのバイナリパスを$ PATHに追加しました。 "xml2-config --cflags --libs"には、libxmlライブラリの正しい(カスタム)場所が含まれています。

python-2.7.8configure/make/makeを私のホームディレクトリにインストールし、そのbinを私のパスに追加しました。 「python setup.py install」を介してsetuptoolsをインストールし、easy_install pipをインストールします。

最後に、pip install lxml...これは私のlibxmlの正しい場所を見つけました。

ただし、「lxml import etree」は最新バージョンのlibxmlが必要なため失敗しますが、/usr/lib64/libxmlを見て失敗します。

私のlibxmlの場所を検出できないのはなぜですか? lxmlをインストールするときは検出しますが、インポートするときは検出できませんか?

ImportError: /usr/lib64/libxml2.so.2: 'LIBXML2_2.9.0' バージョンが見つかりません (/home/hsundara/packages_installed/python-2.7.8/lib/python2.7/site-packages/lxml/etreeに必要です)。

しかし、それが建てられているとき -

次のいずれかのディレクトリにあるlibxml2 / libxsltに対してビルドします。

  /home/hsundara/packages_installed/libxslt-1.1.28/lib
  /home/hsundara/packages_installed/libxml2-2.9.1/lib

解決策はありますか?

ベストアンサー1

構成できる必要があります。lxmlあなた自身のバージョンを見つけてくださいlibxml2そしてライブラリファイル--auto-rpathインストールオプションを使用してください。

まず、現在のバージョンを削除します。lxml

pip uninstall lxml

次に、パスにxml2-configおよびを追加します。xslt-config

export PATH=/home/hsundara/packages_installed/libxslt-1.1.28/bin:/home/hsundara/packages_installed/libxml2-2.9.1/bin:$PATH

最後にインストールlxmlauto-rpathインストールオプションを渡す:

pip install lxml --install-option="--auto-rpath"

おすすめ記事