2017-07-29 65 views
1

使用GitHub's .gitignore,我能夠過濾出一些文件和目錄。但是,有幾件事情讓我有點困惑:當使用venv虛擬環境時,應該將哪些文件提交給我的git存儲庫?

  • GitHub的.gitignore沒有包含由venv創建的/ bin和/ share。然而,我認爲他們應該被git忽略,因爲用戶本身就是爲了構建虛擬環境。
  • Pip生成了一個pip-selfcheck.json文件,這個文件看起來很像雜亂無章。我認爲它通常會這樣做,而我之前並沒有看過這個文件,因爲它已經放置在我的全局點上了。
  • pyvenv.cfg是我真正無法理解的,儘管如此。一方面,它指定了python版本,這對其他想要使用該項目的人來說應該是需要的。另一方面,它也指定了home = /usr/bin,儘管在很多Linux發行版中可能是正確的,但它並不一定適用於所有系統。

有沒有其他文件/目錄我錯過了?對於如何構建項目以及包含哪些內容,是否有更嚴格的指導原則?

回答

4

雖然venv是一個非常有用的工具,但您不應該假設(除非您有足夠的理由這麼做),否則查看您的存儲庫的每個人都會使用它。避免提交任何僅由venv使用的文件;這些並不是嚴格需要能夠運行你的代碼,並且他們對不使用venv的人感到困惑。

您需要在存儲庫中包含的唯一配置文件是由pip freeze > requirements.txt生成的requirements.txt文件,其中列出了軟件包依賴關係。然後,您可以在自述文件中添加一條註釋,指示用戶使用命令pip install -r requirements.txt安裝這些依賴關係。在自述文件中指定所需的Python版本也是一個好主意。

+0

謝謝!這很有道理。 – Jakob

相關問題