如何安装 libavformat.so.56 和 libavformat.so.57?
How to install libavformat.so.56 along with libavformat.so.57?
我使用 pip 在 Anaconda 虚拟环境中使用以下命令安装 opencv3。
install opencv-python
我安装成功了,因为我可以在pip列表中看到包。
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ pip list | grep opencv
opencv-python 3.4.0.14
但是,当我导入 cv2 时,出现以下错误:
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ python
Python 3.4.3 |Continuum Analytics, Inc.| (default, Aug 21 2015, 00:53:08)
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/pi/.conda/envs/olfatf/lib/python3.4/site-packages/cv2/__init__.py", line 3, in <module>
from .cv2 import *
ImportError: libavformat.so.56: cannot open shared object file: No such file or directory
我查看了 /usr/lib/arm-linux-gnueabihf
目录,发现:
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ ls | grep libavformat
libavformat.a
libavformat.so
libavformat.so.57
libavformat.so.57.56.101
你可以看到,我有 57 版,但缺少 56 版。
我在网上做了研究,人们建议我应该安装 libavformat-dev
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ sudo apt-get install libavformat-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libavformat-dev is already the newest version (7:3.2.10-1~deb9u1+rpt1).
但是它说包已经存在。我也尝试安装 ffmpeg。
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ sudo apt-get install ffmpeg
Reading package lists... Done
Building dependency tree
Reading state information... Done
ffmpeg is already the newest version (7:3.2.10-1~deb9u1+rpt1).
但是它说包已经存在。
如何获取56版本?
我使用 Raspberry Pi Strech
经过20个小时的研究,我从源码编译解决了这个问题。我用这个 tutorial 在 Anaconda Environmnent
上安装了 opencv
我使用 pip 在 Anaconda 虚拟环境中使用以下命令安装 opencv3。
install opencv-python
我安装成功了,因为我可以在pip列表中看到包。
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ pip list | grep opencv
opencv-python 3.4.0.14
但是,当我导入 cv2 时,出现以下错误:
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ python
Python 3.4.3 |Continuum Analytics, Inc.| (default, Aug 21 2015, 00:53:08)
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/pi/.conda/envs/olfatf/lib/python3.4/site-packages/cv2/__init__.py", line 3, in <module>
from .cv2 import *
ImportError: libavformat.so.56: cannot open shared object file: No such file or directory
我查看了 /usr/lib/arm-linux-gnueabihf
目录,发现:
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ ls | grep libavformat
libavformat.a
libavformat.so
libavformat.so.57
libavformat.so.57.56.101
你可以看到,我有 57 版,但缺少 56 版。 我在网上做了研究,人们建议我应该安装 libavformat-dev
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ sudo apt-get install libavformat-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libavformat-dev is already the newest version (7:3.2.10-1~deb9u1+rpt1).
但是它说包已经存在。我也尝试安装 ffmpeg。
(olfatf)rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ sudo apt-get install ffmpeg
Reading package lists... Done
Building dependency tree
Reading state information... Done
ffmpeg is already the newest version (7:3.2.10-1~deb9u1+rpt1).
但是它说包已经存在。
如何获取56版本? 我使用 Raspberry Pi Strech
经过20个小时的研究,我从源码编译解决了这个问题。我用这个 tutorial 在 Anaconda Environmnent
上安装了 opencv