在不同位置和通过不同方式(apt 与从源代码编译)拥有同一个库的不同版本

在不同位置和通过不同方式(apt 与从源代码编译)拥有同一个库的不同版本

我需要为 python 3 安装 opencv 版本 3.1。有一个名为的软件包python-opencv,但它是 2.4 版,适用于 python 2。因此我从源代码编译并安装checkinstall。之后,我意识到我已经有了以libopencv2.4 版开头的库。我猜它们是作为 的依赖项安装的gstreamer1.0-plugins-bad。当我从源代码检查我的 opencv 安装时,我发现它还安装了一些libopencv软件包,例如:

/usr/local/lib/libopencv_highgui.so
/usr/local/lib/libopencv_highgui.so.3.1
/usr/local/lib/libopencv_highgui.so.3.1.0
/usr/local/lib/libopencv_imgcodecs.so
/usr/local/lib/libopencv_imgcodecs.so.3.1
/usr/local/lib/libopencv_imgcodecs.so.3.1.0

2.4 版本是通过 apt 安装的,当我检查位置时发现不是/usr/lib/usr/local/lib/我的问题是,在不同位置安装同一个库的不同版本是否会引起问题?

答案1

可以。这取决于您的系统配置。如果您的系统在 PATH 变量中首先找到较旧的 Python 库,它将使用它们。

您可以使用 update-alternatives 等命令来指定您希望在系统上默认安装哪些版本的软件包。例如,您可以使用 update-alternatives 使用位于 /opt 中的 java 7 安装,而不是默认安装的 openjdk7。

您还可以在 /etc/profile.d/*.conf 中放置脚本,以便在运行任何终端之前加载,以指定 PATH 变量的扩展并设置其他环境变量。

此项或设置环境变量可用于指定您想要在程序中使用的库。

希望这能有所帮助!
凯尔

相关内容