При работе в Linux, в зависимости от вашей среды, вы можете получить информацию, используя одну из этих альтернатив:
- ld.so отладочные флаги
- strace
С помощью флагов отладки ld.so вы можете активировать режим отладки, установив для переменной среды LD_DEBUG значение «libs» (или даже «все»), прежде чем запускать код python (в зависимости от вашей оболочки: export LD_DEBUG = libs,или setenv LD_DEBUG libs).Путь поиска динамически загружаемых библиотек будет отображаться в stderr.
Посмотрите на man-странице ld.so дополнительные опции.
Пример вывода - из LD_DEBUG = libs (используя python 'import json')
owner@vm1:~/Project/stackoverflow/58152351$ python
28796: find library=libc.so.6 [0]; searching
28796: search cache=/etc/ld.so.cache
28796: trying file=/lib/x86_64-linux-gnu/libc.so.6
28796:
28796: find library=libpthread.so.0 [0]; searching
28796: search cache=/etc/ld.so.cache
28796: trying file=/lib/x86_64-linux-gnu/libpthread.so.0
28796:
28796: find library=libdl.so.2 [0]; searching
28796: search cache=/etc/ld.so.cache
28796: trying file=/lib/x86_64-linux-gnu/libdl.so.2
...
>>> import json
28796:
28796: calling init: /usr/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so
28796:
В качестве альтернативы можно использовать strace, но для анализа его вывода требуется значительно больше усилий.Строки 'stat' могут предоставлять информацию о пути поиска для каждой библиотеки.