2012-06-13 93 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') –