15

使用GitHub 的 .gitignore,我能够过滤掉一些文件和目录。但是,有几件事让我有点困惑:

  • GitHub 的 .gitignore 不包括 venv 创建的 /bin 和 /share。但是,我认为 git 应该忽略它们,因为用户应该自己构建虚拟环境。
  • Pip 生成了一个 pip-selfcheck.json 文件,看起来很杂乱。我认为它通常会这样做,而我之前没有看过该文件,因为它已与我的全局 pip 一起放置。
  • 不过,pyvenv.cfg 是我真的无法理解的。一方面,它指定了python版本,其他想要使用该项目的人应该需要它。另一方面,它还指定home = /usr/bin了 ,虽然在许多 Linux 发行版上可能是正确的,但不一定适用于所有系统。

有没有我错过的其他文件/目录?对于如何构建项目以及包含哪些内容,是否有更严格的指导方针?

4

1 回答 1

26

尽管 venv 是一个非常有用的工具,但您不应该假设(除非您有充分的理由这样做)查看您的存储库的每个人都使用它。避免提交仅由 venv 使用的任何文件;这些对于能够运行您的代码并不是绝对必要的,并且它们会使不使用 venv 的人感到困惑。

您需要在存储库中包含的唯一配置文件是列出包依赖项requirements.txt生成的文件。pip freeze > requirements.txt然后,您可以在自述文件中添加注释,指示用户使用命令安装这些依赖项pip install -r requirements.txt。在自述文件中指定所需的 Python 版本也是一个好主意。

于 2017-07-29T22:44:39.683 回答