CentOS python import cv2 段錯(cuò)誤問題

引子

最近項(xiàng)目中用到了opencv庫(kù),需要在python中使用;
按照網(wǎng)上的教程,安裝了opencv-python庫(kù),還有系統(tǒng)相關(guān)的opencv庫(kù)
但是導(dǎo)入opencv庫(kù)報(bào)段錯(cuò)誤

問題現(xiàn)象

$ python -c 'import cv2'
段錯(cuò)誤

解決方法

查看了各種文章,無外乎幾種解決方法:

  1. 安裝庫(kù)
  2. 源碼編譯opencv庫(kù)

各路方法都試了試,還是不行,編譯opencv庫(kù)的依賴比較多,所以輕易不想嘗試。
經(jīng)過分析,發(fā)現(xiàn),如果是sudo python -c 'import cv2'就沒有問題,但是線上服務(wù)又不能用root權(quán)限運(yùn)行,所以還得解決。

既然sudo沒有問題,說明庫(kù)的安裝是沒有問題的,既然普通用戶不能導(dǎo)入,說明還是python庫(kù)的路徑問題。

再仔細(xì)分析,python的site-package導(dǎo)入有一定的順序,發(fā)現(xiàn)安裝后的opencv庫(kù)路徑普通用戶可能訪問有問題:

$ sudo find / -name 'cv2.so'
/usr/lib64/python2.7/site-packages/cv2/cv2.so

修改方法比較簡(jiǎn)單,把cv2.so拷貝到用戶的路徑就可以了:

mkdir -p .local/lib/python2.7/site-packages
cp /usr/lib64/python2.7/site-packages/cv2/cv2.so .local/lib/python2.7/site-packages

再次執(zhí)行導(dǎo)入cv2成功。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容