如何查看 pyav 依赖的动态链接库
linux 下的计划
在 Python 中查看 pyav 依赖的动态链接库,能够应用 ldd
命令。ldd
命令能够列出一个可执行文件或者共享库依赖的共享库列表。应用上面的命令能够查看 pyav 依赖的动态链接库:
ldd $(python -c "import av; print(av.__file__)")
这个命令会在终端中输入 pyav 依赖的所有共享库。如果零碎中没有装置 ldd
命令,能够通过装置 libc6-dev
包来装置该命令。在 Ubuntu 和 Debian 零碎中能够应用上面的命令来装置:
sudo apt-get install libc6-dev
mac 下的计划
在 macOS 上,能够应用 otool
命令来查看一个二进制文件的动态链接库依赖关系。对于 Python 模块,能够先找到对应的 .so
文件,而后应用 otool -L
命令来查看依赖关系。
例如,假如咱们要查看 pyav
模块的依赖关系,能够依照以下步骤操作:
- 装置
pyav
模块:
pip install av
找到 av
模块的 .so
文件门路:
$ python -c "import av; print(av.__file__)"
/path/to/site-packages/av/__init__.pyc
其中,/path/to/site-packages
是你的 Python 环境的第三方库门路。
应用 otool -L
命令查看依赖关系:
$ otool -L /path/to/site-packages/av/.dylibs/av.so
/path/to/site-packages/av/.dylibs/av.so:
/usr/local/opt/ffmpeg/lib/libavformat.58.dylib (compatibility version 58.0.0, current version 58.54.100)
/usr/local/opt/ffmpeg/lib/libavcodec.58.dylib (compatibility version 58.0.0, current version 58.91.100)
/usr/local/opt/ffmpeg/lib/libavutil.56.dylib (compatibility version 56.0.0, current version 56.70.100)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)
这里能够看到 av.so
依赖于 libavformat.58.dylib
、libavcodec.58.dylib
、libavutil.56.dylib
以及零碎库 libSystem.B.dylib
。