Mettre sur mon fossoyeur chapeau...
Le meilleur moyen que j'ai trouvé à l'adresse c'est au moment de la compilation. Puisque vous êtes le seul réglage préfixe de toute façon, pourrait tout aussi bien dire l'exécutable explicitement où trouver ses bibliothèques partagées. Contrairement à d'OpenSSL et autres logiciels, Python ne vous donne pas agréable de configurer des directives pour gérer suppléant de la bibliothèque des chemins (pas tout le monde est à la racine, vous savez...) Dans le cas le plus simple de tous vous avez besoin est le suivant:
./configure --enable-shared \
--prefix=/usr/local \
LDFLAGS="-Wl,--rpath=/usr/local/lib"
Ou si vous préférez la non-linux version:
./configure --enable-shared \
--prefix=/usr/local \
LDFLAGS="-R/usr/local/lib"
Le "rpath" drapeau indique à python qu'il a des bibliothèques d'exécution dont il a besoin dans cette voie-là. Vous pouvez prendre cette idée pour gérer les dépendances installé à un emplacement différent de la norme emplacements du système. Par exemple, sur mes systèmes depuis je n'ai pas de racine et le besoin de faire presque complètement autonome Python installe ma ligne de configuration ressemble à ceci:
./configure --enable-shared \
--with-system-ffi \
--with-system-expat \
--enable-unicode=ucs4 \
--prefix=/apps/python-${PYTHON_VERSION} \
LDFLAGS="-L/apps/python-${PYTHON_VERSION}/extlib/lib -Wl,--rpath=/apps/python-${PYTHON_VERSION}/lib -Wl,--rpath=/apps/python-${PYTHON_VERSION}/extlib/lib" \
CPPFLAGS="-I/apps/python-${PYTHON_VERSION}/extlib/include"
Dans ce cas, je suis de compiler les bibliothèques que python utilise (comme ffi, readline, etc) dans un extlib répertoire dans le répertoire python arbre lui-même. De cette façon, je peux goudron python-répertoire de la version et de la terre n'importe où et il va "travailler" (à condition de ne pas exécuter dans la libc ou libm conflits). Cette aide aussi quand vous essayez d'exécuter plusieurs versions de Python sur la même case que vous n'avez pas besoin de changer votre LD_LIBRARY_PATH ou des inquiétudes au sujet de la cueillette de la mauvaise version de la bibliothèque Python.
Edit: j'ai Oublié de mentionner, la compilation va se plaindre si vous n'avez pas défini la variable d'environnement PYTHONPATH à ce que vous utiliser comme préfixe et ne parviennent pas à compiler quelques modules...