2013-03-21 72 views

回答

3

Virtualenv是涉及依賴關係時保持某種順序的最好和最簡單的方法。當談到處理模塊的安裝和跟蹤時,Python確實背後是Ruby(bundler!)。你有最好的工具是virtualenv。

所以我建議你爲你的每個應用程序創建一個virtualenv目錄,把你需要的所有'pip install'命令列出的文件放在一起,以建立環境並確保你有一個乾淨的可重複過程來創建這個環境。

我認爲應用程序的性質沒有什麼區別。不應該有任何性能問題,因爲virtualenv所做的只是從特定路徑加載庫,而不是從默認保存它們的目錄加載它們。在任何情況下(這可能是完全不相關的),但如果性能是一個問題,那麼也許你應該看看一種編譯語言。然而,最有可能的是,更好的編碼可以改善任何性能瓶頸。

+0

意識到性能本身就是編譯語言的原因。我發現使用強大的功能特性和簡單的語法的動態類型的解釋型語言是我用代碼表達思想的最佳方式。這通常伴隨着我很高興付出的最低性能損失。但我仍然嘗試不使用O(n^3)算法。 – 2013-03-21 17:41:36

+0

我認爲使用您喜歡的語言併爲您的任務提供豐富的庫是最重要的問題。在大多數情況下,性能都處於開發週期的相當晚的階段。你需要能夠首先建立你想要的,然後擔心使它更快/更少的資源飢餓。所以,我的編譯語言評論應該是次要的考慮。 – Dimitris 2013-03-21 17:54:16

+0

我同意。說得好。 – 2013-03-25 17:22:52

0

使用virtualenv沒有性能開銷。它所做的只是在文件系統中使用不同的位置。

唯一的「開銷」是設置它的時間。您需要在virtualenv(numpy,pandas等)中安裝每個軟件包。