これが私の状況です。私はCentos 7を実行しており、パッケージマネージャが提供する標準バージョンのlibcurlとlibcurlに依存するいくつかのプログラムがあります。
その一つは、libcurlへのPythonバインディングであるpycurlです。 Pythonの実行中にlibcurlを動的にロードすると仮定しますか?
私はpycurlがlibcurlのカスタムバージョンを使用し、他のすべてのプログラムは標準バージョンを使用したいと思います。どうすればいいですか?
答え1
Pythonの実行中にlibcurlを動的にロードすると仮定しますか?
はい。
私はpycurlがlibcurlのカスタムバージョンを使用し、他のすべてのプログラムは標準バージョンを使用したいと思います。
Pythonを実行する前に、libcurlがを含む標準ライブラリパスの1つにインストールされていないことを確認してください/usr/local/lib
。/opt/curl/lib
export LD_LIBRARY_PATH=/opt/curl/lib:$LD_LIBRARY_PATH
まだ定義されていない可能性が高いですが、:$LD_LIBRARY_PATH
最後の部分( )があります。これはリンカ/ローダが使用する標準の検索パスをオーバーライドするため、互換性のあるlibcurlが存在する場合にロードされます。
ldd
その後、pycurlモジュールバイナリがどこにいても実行してそれを確認できるはずです。