我在尝试用python(Ubuntu 18.04)导入cv2时收到并导入错误

2024-05-16 03:51:33 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,非常感谢您的阅读

几天前,我在Ubuntu 18.04桌面系统中安装了Python3(3.6.9)和opencv 3.4.10。在出现一些编译问题(与python3无关)后,我需要将opencv降级到3.4.0,因此我使用sudo make uninstall顺序删除了opencv 3.4.10,并测试它是否被卸载,就好像我尝试在python中导入它一样。我得到了以下错误:

libopencv_hfs.so.3.4: cannot open shared object file: no such file or directory

我原以为安装3.4.0版本可以解决这个问题,但现在它已经安装好了,当我尝试在python3脚本中导入它时,我得到了相同的错误。我认为这个错误一定与python3引用导入文件的方式有关。我认为它仍然指向3.4.10的卸载版本,但我找不到改变它的方法

有人能帮我解决这个问题吗

多谢各位

安德烈斯


Tags: 版本make顺序ubuntu系统错误sudo降级
2条回答

使用virtualenv可以解决这个问题。检查一下如何使用:Installing packages using pip and virtual environments

在virtualenv中安装完需求后,在那里运行python脚本,只使用指定的版本

再次您好,谢谢您的回答

我已经解决了这个问题。虽然我已经卸载了opencv的早期版本,但在我的python虚拟环境路径中仍然有一个cv2.so文件,并且它没有被新的cv2.so替换,因此python尝试导入旧的而不是新的

旧的cv2.so(我在python中导入cv2时引用的那一个)就在这里>~/.virtualenvs/cv/lib/python3.6/site-packages/cv2.so 导入时希望使用的cv2.so在这里>/usr/local/lib/python3.6/site-packages/cv2/cv2.so所以我用lib目录中的一个替换了虚拟环境路径中的一个,这就成功了:)

相关问题 更多 >