使用 venv 虚拟环境时,我应该将哪些文件提交到我的 git 存储库?

When working with a venv virtual environment, which files should I be commiting to my git repository?

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

还有什么我遗漏的files/directories吗?对于如何构建项目和包含哪些内容,是否有更严格的指导方针?

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

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