簡體   English   中英

導入錯誤:libavcodec.so.57:無法打開共享對象文件:沒有那個文件或目錄

[英]ImportError: libavcodec.so.57: cannot open shared object file: No such file or directory

我正在處理一個 python 項目,我很遺憾地遇到了,一旦我嘗試從 PyCharm ide 運行腳本,我就會收到以下錯誤消息:

from .cv2 import *
ImportError: libavcodec.so.57: cannot open shared object file: No such file or directory

現在從終端運行相同的 python 腳本運行沒有任何錯誤,所以我非常有信心每個要求都已正確安裝。 因此,我將注意力轉向了環境變量,但我不完全確定我應該添加到 pycharm 環境變量列表中的變量的名稱和值應該是什么。 我運行以下命令:

whereis libavcodec.so.57

我得到了:

libavcodec.so: /usr/lib/x86_64-linux-gnu/libavcodec.so.57 /usr/lib/x86_64-linux-gnu/libavcodec.so

所以我想這與我應該添加到 PyCharm 的 env 變量的值有關。

有人可以幫我解決這個問題嗎?

這是因為您安裝openCV的方式。

嘗試以下命令正確安裝openCV

$ sudo apt-get remove python-opencv; sudo apt-get install python-opencv

我發現我的ubuntu 19.10系統有libavcodec.so.58而不是libavcodec.so.57. 我在包digiKam.遇到了類似的問題digiKam.

我粗略地解決了它,在終端窗口中使用以下命令進入包含libavcodec.so,的文件夾:

sudo ln -s libavcodec.so.58.35.100 libavcodec.so.57

(我也必須對libavutils.so做類似的步驟)

我意識到這個符號鏈接在系統升級期間不會更新,不是一個理想的解決方案。 您系統上的版本號也可能不同。

當我簽入PyCharm Community Edition,我注意到它是使用.sh腳本調用的。 每次使用終端窗口都會執行.bashrc並且它可能包含export LD_LIBRARY_PATH=/usr/local/my_lib:$LD_LIBRARY_PATH. 這可能解釋了與您的python import行為的一些差異。 我無法用opencv-python.包重現您的確切問題opencv-python.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM