【问题标题】:When working with a venv virtual environment, which files should I be commiting to my git repository?在使用 venv 虚拟环境时,我应该将哪些文件提交到我的 git 存储库?
【发布时间】:2018-01-05 18:32:18
【问题描述】:

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

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

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

【问题讨论】:

    标签: python git python-venv


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      • 2019-12-06
      • 1970-01-01
      相关资源
      最近更新 更多