CentreNet代码问题记录:undefined symbol: FT_Done_MM_Var

注意:这篇文章的解决方案中,笔者用的只是把opencv-python的版本换掉了,治标不治本,如果涉及cv2更复杂的用法,可能存在版本不兼容的问题!

这几天学习CenterNet的源代码,按照getting start、install、model zoo几个md文件把环境配好后,运行代码,结果import部分就报错:
在这里插入图片描述
在这里插入图片描述

可见是cv2模块引用的时候除了问题。看其他博主写道:undefined symbol: FT_Done_MM_Var 错误的原因,libfontconfig.so.1造成。opencv 的 Python版本是按照系统库编译的,而在调用时,使用了anaconda/lib中的库原文链接)。

于是对比了一下虚拟环境和系统里opencv-python版本,发现确实虚拟环境中版本更高(下面第一张图):
虚拟环境的库
系统的库

该文章中作者给出两种方案,一是更改连接,二是用系统里的libfontconfig.so.1替换anaconda目录下的对应文件。
笔者采取的方式是:在虚拟环境中重新安装和系统版本一致的opencv-python库(可能会出问题,因为centernet代码里主要只用到了cv2的imread函数,就可以采取这种办法)。
中途还对pip进行了升级。故完整指令如下:

pip uninstall opencv-python
pip install --upgrade pip --trusted-host pypi.tuna.tsinghua.edu.cn
pip install opencv-python==4.5.3.56 --trusted-host pypi.tuna.tsinghua.edu.cn

最后在虚拟环境中运行python,可以正常导入cv2。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值