2015-05-10 50 views
5

也許這是一個更基於意見的問題,但我想知道virtualenv的內容是否應該包含在GitHub存儲庫中。爲什麼它應該或不應該包括在內?源代碼管理中的Virtualenv

回答

8

不,不能包含任何可以產生的東西。

依賴性應該用像pip這樣的東西進行管理,並且可以包含requirements.txt文件。

源代碼管理下的唯一文件應該是您絕對需要爲您開發環境的文件。所以它可以包含某種引導鏈,也就是說,你可以編寫虛擬環境的創建腳本,這將是你克隆後運行的第一件事。

還要考慮你的虛擬環境包含二進制文件。你絕對不希望那些在你的倉庫中。

正如以下@JeremyBank所指出的,您的虛擬環境也可能因系統而異,這意味着您的虛擬環境將不可移植。

+0

爲什麼不在這種情況下? – David542

+2

@david該目錄可以包含爲當前系統專門生成的文件,這些文件可能具有硬編碼路徑或鏈接庫,這些文件在其他系統上不起作用。它並不意味着便攜。相反,您應該包含一些指定virtualenv中所需的依賴關係信息的方式,作爲包規範或需求文件,因爲它們被設計爲可移植的。 (但是,誠實的說,如果你只是在一個單獨的系統上使用源代碼控制來獨立工作,那麼env可能會很方便。) –

+0

@JeremyBanks我甚至沒有考慮特定於當前系統的文件。 ..但是有意義的是,OSX,Linux和Windows的虛擬環境會非常不同 – Leon