使用 Python 包管理器 Poetry 时,我应该将哪些文件/目录添加到 .gitignore?

use*_*363 9 python gitignore python-poetry

我正在使用一个名为Poetry 的全新 Python 包管理器。

它在创建新项目(环境)时创建了几个文件/目录,但我不确定我应该添加哪个以.gitignore获得最佳实践。

假设我通过这样做创建了一个新的诗歌项目:

$ poetry new foo_project
$ cd foo_project
$ poetry add numpy
$ ls
Run Code Online (Sandbox Code Playgroud)

有:

tests (directory)
foo_project (also a directory)
pyproject.toml (a file that specifies installed packages)
poetry.lock (a lock file of installed packages)
README.rst (I don't know why README is created but it just shows up.)
Run Code Online (Sandbox Code Playgroud)

我通常添加tests/, foo_project/,poetry.lock并且README.rst因为它们似乎依赖于创建项目的机器。另外,我似乎只能用 来重现环境,pyproject.toml所以这是我忽略所有其他文件/目录的另一个原因。

然而,这只是我的预感,不幸的是,我找不到任何官方指南,我真的应该.gitignore在官方文档中添加什么。

它只是让我感到烦恼,我不确定我在做什么。我应该将哪些添加到我的.gitignore?

Cha*_*son 5

最近也转向诗歌。

我会说你不应该添加任何的:tests/foo_project/poetry.lockREADME.rst你的.gitignore。我的理由如下:

tests/ - 您的测试不应该依赖于机器(除非这是您的软件包的已知限制)并且为其他人提供测试是他们测试的方式 a) 安装是否有效,以及 b) 他们所做的任何更改都不会破坏功能,因此拉取请求变得更加健壮。

foo_project/- 这就是你的 python 模块去的地方!如果您希望诗歌能够构建和发布您的包,那么您所有的 .py 文件都应该在这个文件夹中。

poetry.lock- 请参阅https://python-poetry.org/docs/basic-usage/,其中说:

当 Poetry 完成安装后,它会将所有包及其下载的确切版本写入到 Poetry.lock 文件中,从而将项目锁定到这些特定版本。您应该将诗歌.lock 文件提交到您的项目存储库,以便所有在该项目上工作的人都被锁定到相同版本的依赖项(更多信息见下文)。

README.rst- 虽然这可能更像是个人的事情,但如果您使用诗歌来发布您的包,例如 PyPi,则该文件将成为您的包自述文件。没有它,您的包裹将有一个空的自述文件。我有两个自述文件,一个 .md(用于 GitHub)和一个 .rst(用于 PyPi)。我为开发人员/用户使用 GitHub 自述文件,为纯用户使用 PyPi。

  • 那是“不应该添加任何......到你的.gitignore”?你应该将它们添加到你的存储库中,之类的。 (3认同)