ImportError: libavcodec.so.57: 无法打开共享对象文件: 没有这样的文件或目录

Dal*_*eme 6 python environment-variables pycharm

我正在开发一个 python 项目,但遗憾的是,一旦我尝试从 PyCharm ide 运行脚本,就会收到以下错误消息:

from .cv2 import *
ImportError: libavcodec.so.57: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

现在从终端运行相同的 python 脚本没有任何错误,所以我非常有信心每个需求都已正确安装。因此,我将注意力转向环境变量,但我不完全确定应该添加到 pycharm 环境变量列表中的变量的名称和值是什么。我运行以下命令:

whereis libavcodec.so.57
Run Code Online (Sandbox Code Playgroud)

我得到了:

libavcodec.so: /usr/lib/x86_64-linux-gnu/libavcodec.so.57 /usr/lib/x86_64-linux-gnu/libavcodec.so
Run Code Online (Sandbox Code Playgroud)

所以我想这与我应该添加到 PyCharm 的 env 变量的值有关。

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

Sil*_*eag 0

我发现我的ubuntu 19.10系统有libavcodec.so.58,但我没有libavcodec.so.57. 遇到类似的软件包问题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.