当我维护和分发 Python 包时,我是否应该保留该命令所包含的 MANIFEST 文件
python setup.py sdist
在版本控制下生成,还是我应该将其添加到.gitignore?
在维护和分发 Python 包时,不应将命令MANIFEST生成的文件保留python setup.py sdist在版本控制下。通常建议将其添加到您的.gitignore。原因如下:
MANIFEST
.gitignore
该MANIFEST文件由命令自动生成sdist,是源代码分发过程的一部分。它列出了分发版中应包含的所有文件,但通常不打算对其进行维护或版本控制。该MANIFEST文件的内容可能因存储库的状态而异,并且每次创建新的源代码分发版时都会重新生成该文件。
sdist
MANIFEST您无需手动编辑或在版本控制下跟踪该文件,因为只要您运行该python setup.py sdist命令,它就会自动生成。如果您使用MANIFEST.in明确定义哪些文件应包含在源分发中,则生成的MANIFEST文件将反映您运行该命令时项目的内容MANIFEST.in和实际文件sdist。
MANIFEST.in
由于MANIFEST文件每次都会重新生成,因此无需将其保存在版本控制中,因为其内容会随着每次新的分发而改变。在版本控制中跟踪它可能会导致不必要的冲突和混乱。
您应该将该MANIFEST文件添加到您的目录中,.gitignore以防止它被 Git 跟踪。这可确保生成的MANIFEST文件不会扰乱您的版本控制历史记录,并且无需手动更新或维护。
以下是您可以添加到您的 的内容.gitignore:
# Ignore generated MANIFEST file MANIFEST
应保留在版本控制中的文件包括:
setup.py
通过遵循这种方法,您可以避免版本控制系统中不必要的混乱,同时确保包分发过程顺利进行。