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 变量的值有关。
有人能帮我解决这个问题吗?
我发现我的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.