2012-06-13 61 views
1

我目前正在开发基于Opencv的应用程序(more info here)。 为了确保一切工作正常,我想尝试与多个版本的OpenCV(2.3,2.4)相同的代码。同时处理多个版本?

这主要针对Linux开发,但我不介意为Windows找到解决方案。

作为奖励,我真的很高兴如果我也可以在软件包的版本和其他编译的源代码之间切换。

我目前正在考虑的解决方案是下载并编译多个版本(不带make install),然后手动使用所选版本文件夹进行导入。 这并不能解决软件包安装问题,并且在长期运行中可能无法真正使用

什么是实现这种目标的最佳方式?

+0

对不起,但我不明白为什么你会希望你的代码与多个opencv版本一起工作的原因。正确的opencv版本将随代码一起提供为一个库,这不像将要将代码运送到可能具有不同版本库的系统。我不确定Python方面的情况,但在2.4版中有很多变化,一些函数参数会是一个例子,因此2.3版应用程序与2.4版应用程序稍有不同。 –

+0

这就是为什么我希望能够看到什么是和不在使用不同版本的原因。现在ubuntu软件包通过Synaptic提供了2.3预编译版本,但是我最新的Fedora用户可能会使用最新版本(2.4)>我想测试这两个版本,而不必安装两个Linux系统 – jlengrand

回答

1

Virtualenv似乎是这样做的很好的解决方案:

的virtualenv是创建孤立的Python环境的工具。

...

假设你有一个需要libfoo的版本1的应用程序,但你如何使用这两个应用程序 另一 应用程序需要版本2?

+0

ThxCédriv。我已经知道virtualenv了,但是这不是针对可以使用pip安装的软件包吗? – jlengrand

+0

难道你没有几个virtualenv环境与你的opencv库和一个脚本启动对每个环境的自动化测试。这样你可以测试多个opencv版本。 – msanders

+1

@jlengrand:您可以使用virtualenv手动安装模块(正确使用'/ path/to/your/virtualenv/bin/python setup.py install') –