ImportError: dynamic module does not define module export function (PyInit_cv2)

在阿里云centos7上安装opencv

搜寻了很多教程,都是一大堆步骤,按照他们的步骤,还是没能装好,最后经过同学提醒,他说之前直接用pip install opencv-python这一条命令就直接装好了,,,,,,结果一试,虽然中间出了些差错,但是最终还是安装成功了

这里记录一下遇到的问题和解决方案

第一步:

输入命令 :pip install opencv-python

发现安装在了linux默认的python2.7文件夹下了,,

进入python环境,默认进入了python2.7 的环境下了

接着,import cv2

没问题

现在要进入python3环境,因为自己的django算法部分代码使用python3写的

果然就出现问题了

经过细细观察,发现用pip install 和pip3 install 安装包的时候,居然安装在了不同的路径下面

(安装Python之后pip 和pip3的区别 - ydw_ydw的博客 - CSDN博客 https://blog.csdn.net/ydw_ydw/article/details/82049772)

pip是安装在了系统默认python环境下,也就是

故,接着pip3 install opencv-python

将opencv包安装到python3环境

没问题

好了,继续进入python3环境,import  cv2

果然出错

大概是说发现了多个地方或多个版本的opencv,numpy(安装opencv自带安装numpy)具体就不截图了

猜想,应该是python2环境里安装的那个numpy、opencv和现在这个python3环境里安装的重了

然后我就把py2里面的删了:pip uninstall opencv、numpy

现在就没有刚刚那个错误了,而是出现了另一个错(import numpy没问题)

这个错误找了我一个小时,,,,

然后找啊找,有人说是因为少了cv.py这个文件,https://stackoverflow.com/questions/39112321/python-3-5-importerror-dynamic-module-does-not-define-module-export-function-p

然后我就把python2环境里面的这个cv.py文件拷贝到python3里面,

发现还是不行

最终,这位老哥的方法解决了我的问题,真的是太感谢了

https://stackoverflow.com/questions/39112321/python-3-5-importerror-dynamic-module-does-not-define-module-export-function-p

让我把python2环境下的cv2.so文件删掉,然后再sudo pip3 install opencv-python

果然运行成功

自己的项目也成功运行

撒花!!

 

pip3没用是因为没有设置环境变量

可以参考这个博客

https://www.cnblogs.com/whoamme/p/4039998.html

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan Yi

老板行行好,打赏一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值